文章分类 -  C# 代码质量

改善C#代码质量
摘要:LINQ相当于封装FCL泛型集合的比较强、迭代器、索引器 阅读全文
posted @ 2016-01-20 13:50 小-黑 阅读(89) 评论(0) 推荐(0)
摘要:IEnumeralbe和IQueryable 阅读全文
posted @ 2016-01-20 13:43 小-黑 阅读(104) 评论(0) 推荐(0)
摘要:在延迟求值的情况下,只是定义一个查询,而不是立刻执行: class Program { static void Main(string[] args) { List list = new List() { 0, 1, 2, 3, 4, 5... 阅读全文
posted @ 2016-01-19 17:13 小-黑 阅读(114) 评论(0) 推荐(0)
摘要:class Program { static void Main(string[] args) { List companyList = new List() { new Compan... 阅读全文
posted @ 2016-01-19 17:00 小-黑 阅读(117) 评论(0) 推荐(0)
摘要:class Program { static void Main(string[] args) { List companyList = new List() { new Compan... 阅读全文
posted @ 2016-01-19 16:49 小-黑 阅读(172) 评论(0) 推荐(0)
摘要:谨慎集合属性的可写操作 阅读全文
posted @ 2016-01-19 16:26 小-黑 阅读(61) 评论(0) 推荐(0)
摘要:迭代器模式的原则是:不要为迭代器设置可写属性。 阅读全文
posted @ 2016-01-19 16:20 小-黑 阅读(70) 评论(0) 推荐(0)
摘要:如果要实现一个自定义的集合类,不应该一个FCL集合类为基类,而应该扩展相应的泛型接口:IEnumerable ICollection 前者规范集合类的迭代功能,后者规范集合的操作。 阅读全文
posted @ 2016-01-19 16:07 小-黑 阅读(205) 评论(0) 推荐(0)
摘要:foreach不能代替for的一个原因是在迭代过程中对集合本身进行增删操作,同样在多线程中可能出现一个线程对集合进行迭代而另一个线程对集合进行增删操作: class Program { static List personList = new List { new Pers... 阅读全文
posted @ 2016-01-19 15:49 小-黑 阅读(98) 评论(0) 推荐(0)
摘要:集合的分类: 阅读全文
posted @ 2016-01-14 16:10 小-黑 阅读(74) 评论(0) 推荐(0)
摘要:使用泛型集合避免装箱和拆箱 阅读全文
posted @ 2016-01-14 14:52 小-黑 阅读(69) 评论(0) 推荐(0)
摘要:对象和集合初始化设定项作用:方便对象和集合初始化;使LINQ查询创建新的匿名类型; static void Main(string[] args) { List personList = new List { new Person() { Name ... 阅读全文
posted @ 2016-01-14 14:33 小-黑 阅读(92) 评论(0) 推荐(0)
摘要:foreach两个有点:语法更简单,默认调用Dispose方法;缺点:不支持循环是对集合进行增删操作。 static void Main(string[] args) { IMyEnumerable list = new MyList(); ... 阅读全文
posted @ 2016-01-14 13:50 小-黑 阅读(126) 评论(0) 推荐(0)
摘要:数组长度不可变;数组转换: int[] iArr = { 1, 2, 3 }; ArrayList arrayListInt = ArrayList.Adapter(iArr); List listInt = iArr.ToList(... 阅读全文
posted @ 2016-01-14 13:29 小-黑 阅读(87) 评论(0) 推荐(0)
摘要:无论是浅拷贝还是深拷贝,微软建议用类型继承ICloneable接口的方式明确告诉调用者:该类型可以被拷贝。 class Employee : ICloneable { public string IDCode { get; set; } public int ... 阅读全文
posted @ 2016-01-13 14:54 小-黑 阅读(78) 评论(0) 推荐(0)
摘要:无论是操作符"=="还是方法"Equals",都表示:值类型,值相等则返回True;引用类型,指向同一个对象即引用相等则返回True; object a = 1; object b = 1; Console.WriteLine(a =... 阅读全文
posted @ 2016-01-13 13:27 小-黑 阅读(132) 评论(0) 推荐(0)
摘要:class Program { public static void Main(string[] args) { Salary s1 = new Salary() { RMB = 1 }; Salary s2 = ... 阅读全文
posted @ 2016-01-13 10:15 小-黑 阅读(71) 评论(0) 推荐(0)
摘要:static Week week = Week.TempValue; public static void Main(string[] args) { Console.WriteLine(week); Cons... 阅读全文
posted @ 2016-01-13 10:08 小-黑 阅读(78) 评论(0) 推荐(0)
摘要:枚举类型在声明是的默认值是0: static Week week; public static void Main(string[] args) { Console.WriteLine(week); Consol... 阅读全文
posted @ 2016-01-13 09:50 小-黑 阅读(94) 评论(0) 推荐(0)
摘要:const是编译常量(即在编译期间就被解析,故效率高一点),readonly是运行时常量;const修饰的常量在声明的时候必须初始化;readonly修饰的常量则可以在构造函数初始化与修改(故灵活一点); static readonly int A = B * 10; s... 阅读全文
posted @ 2016-01-12 17:31 小-黑 阅读(117) 评论(0) 推荐(0)