随笔分类 - 编写C#157建议
摘要:foreach:自动将代码置入try-finally块;若类型实现了IDispose接口,它会在循环结束后自动调用Dispose方法。 using是try-finally的语法糖。 集合版本:任何对集合进行增删操作的都会使集合版本+1; foreach使用的是迭代器,每次遍历都会针对集合的版本进行确
阅读全文
摘要:数组在定义的时候就确定长度,且不可变。 ArrayList是链表结构,可以动态的增减内存空间。 List是ArrayList的泛型实现,除去了拆箱装箱的操作。 int[] iArr = { 0, 1, 2, 3, 4, 5, 6 }; ArrayList arrayList = ArrayList.
阅读全文
摘要:实现IFormattable的Tostring的方法,实现为类型输出格式化字符串。 public string ToString(string format, IFormatProvider formatProvider) { switch (format) { case "EN": return
阅读全文
摘要:不管是Equals还是“==”都倾向于:对于引用类型看是否指向同一对象;对于值类型,判断类型的值是否相等。 对于 对象来说,地址不同的情况下,就算对象的值相同,两个对象也不会相等。如果想要两个对象在对象的值相等的情况下使得两个对象相等,就应该重载Equals运算符。 public override
阅读全文
摘要:enum:枚举类型,不声明第一个值的情况下,默认为0。而且里面的值输出只能是设定值 例: public enum Week { zero = 0, first = 1, sencond, third, four, five, six, seven, eight, nine, ten, } publi
阅读全文
摘要:const:是编译时的常量;修饰基元类型、字符串类型、枚举类型。const不属于变量、属性或索引,只能在定义的时候赋值,其他地方无法赋值。运行时不会经过const值。 readonly:是运行时的常量。语法糖,在类中赋值可以无限多次,但是实例赋值只能赋值一次 readonly当是值类型时,无法在外部
阅读全文
摘要:TryParse:类型转化耗时短,转化失败也能尽快跳出来。 Parse:类型转化成功的话与TryParse的耗时相差无几,转化失败会耗时多点。 用Stopwatch来计算运行时间
阅读全文
摘要:as:在用父类对象转子类时,成功返回子类实例。不成功返回null。 is:用于判断对象是不是属于该类的,若不是则false,是返回true
阅读全文