C#1-14学习笔记(入门经典5)

1、  bool和string没有隐式转换,但数值类型有一些隐式转换。

2、  参数可变

3、ref(外部初始化)  out(内部初始化)

4、delegate doubleProcessDelegate(double param1, double param2);

ProcessDelegate process = newProcessDelegate(函数名);

5、诊断输出:总是要从应用程序中输出调试结果时使用这种方法,尤其是在要输出的字符串比较复杂,涉及几个变量或许多信息的情况下,使用该方法比较好。另外,如果要在发布模式下获得执行应用程序的调试结果,Trace命令常常是唯一的选择。

跟踪点:调试应用程序时,希望快速输出重要信息,以便解决语义错误,应使用跟踪点。

6、SEH(StructuredException Handling)

7、IDisposable  Dispose方法(迅速垃圾回收)

在using代码块中使用,在尾部自动删除(代码执行完毕,调用Dispose方法)。

8、虚函数是有代码的并明确允许子类去覆盖,但子类也可不覆盖,就是说可以直接用,不用重写。抽象函数是没有代码,子类继承后一定要重写。

9、类的访问修饰符: internal(或无) 和 public                                                         abstract和 sealed(编译器不允许派生类的可访问性高于基类。)

10、typeof(运算符)

11、base关键字

12、类库项目 Class Library

13、MemberwiseClone (浅复制)ICloneableClone(深复制)

14、类成员访问修饰符

15、readonly:执行构造函数赋值或初始化赋值语句赋值。

   static:先考虑初始化赋值再考虑构造函数。

   const:就肯定是static,但是不能写static,否则出错。编译期确定,只能初始化赋值。

16、方法访问控制符

17、字段定义和属性定义

18、隐藏基类方法

19、接口成员定义

20、

21、部分类定义:partial

22、部分方法

23、

1.        集合

2.        定义集合类

System.Collections. CollectionBase这是个类。

System.Collections.DictionaryBase这是个类。


 

3.        索引符

4.        迭代器

5.        is比较(比typeof宽泛)

6.        运算符重载

7.        值比较

CompareTo方法obj as Person

Compare方法

8.        Comparer类位于System.Collections名称空间中

9.        重载转换运算符

implicit(隐式转换)explicit(显式转换)public static implicit operator ConvC1(ConvC2 op2)

10.    as运算符

11.    泛型在C++和C#中的区别

12.    可空类型

  |

13.    TRUE   NULL  FALSE

14.    ??运算符

15.    System.Collections.Generics名称空间

16.    IComparer 和IComparable

17.    委托泛型

18.    泛型定义

主要是因为T1咱们了解的太少,不能随便搞,否则就出问题了。

19.    default关键字

20.    约束类型 where

21.    泛型运算符(338页)

22.    variance是convariance和contravariance的统称。(变体341页)

23.    协变(向上)

24.    抗变(向下)

25.    ::使用由using定义的别名

26.    定制异常(350页)

27.    event关键字

28.    委托

29.    对象初始化器先构造函数再初始化器


 

30.    集合初始化器(还是跟Add()方法有关)

31.    推理类型var需要初始化


 

32.    匿名类型

33.    动态查找

34.    dynamic类型

35.     

36.    命名参数

37.    扩展方法

38.    Lambda表达式用于匿名方法


你可能感兴趣的:(心得,c#)