摘要: 1.Task概述:Task是对操作系统线程的抽象,目的是使线程池能高效地管理线程的分配和回收,Task使用的底层线程属于一种共享资源,任务需要互相协作,并及时归还线程,以便用相同的共享资源(线程)满足其他请求。 2.Task.AsyncState:获取在创建 Task 时提供的状态对象,如果未提供, 阅读全文
posted @ 2017-01-23 20:41 殇曲? 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 1.List.BinarySearch():BinarySearch()采用的是二分搜索算法,要求元素已经排好序,其特点是假如元素没有找到,会返回一个负整数,该值的按位取反(~)结果是“大于被查找元素的下一个元素”的索引,如果没有更大的值,则是元素的总数。这样一来就可以在列表中的特定位置方便地插入新 阅读全文
posted @ 2017-01-23 20:26 殇曲? 阅读(431) 评论(0) 推荐(1) 编辑
摘要: 1.在使用反射时,反射可以绕过安全访问级别(private、protected)修饰的类或属性,来获取需要的信息。 2.泛型的反射:可以使用Type.ContainsGenericParameters这个属性来判断一个类或方法是否包含尚未设置的泛型实参,Type.IsGenericType属性表示是 阅读全文
posted @ 2017-01-23 20:26 殇曲? 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 1.匿名类型:匿名类型是C#3.0新增的特性,是强类型(由编译器后台在生成为CIL时,自动声明的代码定义类型),声明与初始化属性后其属性是尽读属性。只有在属性的名称、顺序、类型一致时,多个声明匿名变量才会共用同一个匿名类型。其ToString()方法已重写了返回的是属性名称与值的文本。 2.隐式局部 阅读全文
posted @ 2017-01-23 18:34 殇曲? 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 1.多播委托:由与delegate关键字声明的委托,在编译后默认继承Delegate与MulticastDelegate类型,所以声明的委托自然就含有多播委托的特性,即一个委托变量可以调用一个方法链(多个相同签名的方法)。在C#中,多播委托的实现是一个通用的模式,目的是避免大量的手工编码,这个模式称 阅读全文
posted @ 2017-01-23 18:30 殇曲? 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 1.泛型的约束: (1)接口约束; (2)基类约束,基类约束必须放在第一(假如有多个约束); (3)struct/class约束; (4)多个参数类型的约束,每个类型参数都要用where关键字; (5)构造器约束,只能是无参构造器,如new(); (6)约束可以由派生类继承,但必须在派生类中显式地指 阅读全文
posted @ 2017-01-19 13:30 殇曲? 阅读(434) 评论(0) 推荐(1) 编辑
摘要: 1.重写GetHashCode方法注意点: (1)重写GetHashCode方法,也应重写Equals方法,否者编译器会警告。 (2)相等的对象必须有相等的散列码(若a.Equals(b),则a.GetHashCode()==b.GetHashCode())。 (3)GetHashCode()不应引 阅读全文
posted @ 2017-01-19 11:22 殇曲? 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 1.结构:结构除了可以含有属性和字段,还可以包方法和构造器,但不能包含黠认(无参数}的构造器。有的时候(比如在实例化一个数组的时候)不会调用值类型的构造器,因为所有数组内存都转为用零来初始化,为了避免因为默认构造器只是偶尔调用而造成不一致,C#完全禁止了用户显式定义默认构造器,因为编译器会将声明时的 阅读全文
posted @ 2017-01-19 11:15 殇曲? 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 1.接口的显式实现:显式实现需要在实现接口的类型中,在实现接口的成员中添加接口名称的前缀。且没有必要添加public、virtual这些修饰符,因为显式实现只能通过接口调用,不能用实现类进行调用。为此最典型的做法就是将对象转型为接口。 2.接口的隐式实现:隐式实现即是正常现实,不需要在实现成员中添加 阅读全文
posted @ 2017-01-18 17:24 殇曲? 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 1.C#只支持单一继承,若想要实现多重继承的效果。有2种方式: 第一种为传递继承,A为基类,B继承A,C继承B,通过传递来增迭要包含的元素,但这种继承的设计,在业务上具有明显的从属关系。 第二种为聚合,在关联关系中,如果定义了包容对象的一个核心组件,就会发生聚合。对于多重继承,这涉及挑选一个类作为主 阅读全文
posted @ 2017-01-18 16:59 殇曲? 阅读(240) 评论(0) 推荐(0) 编辑