C#
文章平均质量分 70
AlphaCheetah
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于C#泛型接口协变和抗变的一些理解
一、协变支持协变的泛型参数用out标注,形式是,简单的说就是T类型在使用中只能作为返回类型出现在方法名的左边,于是他可以被自己的派生类赋值。二、抗变支持抗变的泛型参数用in标注,形式是,简单的说如T类型在使用中只能作为参数类型出现在括号的里面,因此他可以给自己的基类赋值。例子如下: class Class1:ITest { public原创 2016-10-09 18:07:29 · 2345 阅读 · 0 评论 -
C#中浅表副本与深表副本
原文链接:http://club.topsage.com/thread-2457830-1-1.html这里讨论的浅表副本与深表副本主要是针对C#的类来说的,我们知道C#的类都是引用类型的,然而类的字段则有可能是值类型和引用类型的。个人认为浅表副本与深表副本就区分于此。假设我们现在有一个class叫做MyCopyableClass,里面包含有一个值类型string name,和一个引用转载 2016-10-10 18:03:41 · 2582 阅读 · 3 评论 -
C#中IComparable<T>和IComparer<T>接口的使用
C#中的基本类型都提供了默认的比较算法,C#可以调用比较算法为基本类型的数组进行排序。若希望对自建类进行比较或排序,那么可以使用IComparable和IComparer接口。一、IComparable接口继承IComparable接口,可以给自建类实现一个通用的比较方法,使自建类的数组可以使用Array. Sort方法进行排序。实现IComparable接口,要求在类中实现Com原创 2016-10-10 21:39:01 · 7906 阅读 · 0 评论 -
IEnumerable与IEnumerator学习(一):在类中添加GetEnumerator()方法使类或类的集合可以被迭代
在C#中,使用Foreach来便利一个数组、List是十分方便的,而之所以能用Foreach来遍历一个数组,是因为系统自动为数组实现了IEnumerable接口,IEnumerable接口中包含的GetEnumerator()返回一个IEnumerator迭代器,使迭代数组变为可能。实际上,我们的自建类也可以使用foreach来遍历其中特定的内容,类并不需要继承或实际实现IEnumerable原创 2016-10-10 22:55:03 · 3968 阅读 · 0 评论 -
C#构造函数的一些注意点
1、静态构造函数静态构造函数就是用static修饰符声明的构造函数,主要功能是用于初始化静态数据,或者执行仅需执行一次的操作。静态函数通常在任何类成员被访问之前执行。注意静态函数不能有任何访问修饰符,也不接受参数。例子如下:class CreateDateTime { public static DateTime CreateDate; sta原创 2016-10-03 23:27:03 · 678 阅读 · 0 评论 -
C#中关于EventHandler使用的一些理解
阅读《C# 高级编程》,其中关于EventHandler的使用颇让人费解。因为已经习惯了public event delegateName eventName;这种定义事件的方式,因此下面结合这种方式来解释一下书中示例的代码。先来看看CarDealer类的定义: public class CarInfoEventArgs : EventArgs { public Car原创 2016-10-13 14:29:03 · 27432 阅读 · 0 评论
分享