1、泛型:
有了泛型,不必给不同的类型编写功能相同的许多方法或类,只创建一个方法或类即可。
2、Array类:
设计的意义是提供有关数组的很多常用接口,如提供了Sort方法等方法,而是数组T [ ]所不能直接实现的。
3、类Tuple元组:
在于对数组的补充,元组内可以存储不同类型的元素。
4、操作符重载:
使编程和阅读人性化,用表达式的方式代替一定意义的方法。(先写关键字public和static,后跟返回类型,后跟operator关键字,后跟要声明的操作符符号,最后在对一对圆括号中添加恰当的参数.)
5.委托:
顾名思义,委托就是把我才有权做的事情授权给别人,别人去做。委托声明就相当于公告,委托被赋值的方法,就相当于具体授权的事情。调用委托,就是他人利用你的授权,把事情办了的过程。
6、事件
设置的意义在于,实现类之间的交互或通信。一旦某类发生某事件,就可以通过注册的相应委托,完成一个函数动作。
//声明一个出版的委托
public delegate void PublicEventHander();
//在委托的机制下我们建立一个出版事件
public event PublicEventHander OnPublicsh; //事件必须要在方法里去触同的,出版社发布新书方法
7、Lambda表达式
便于阅读,代码简洁,就是一种匿名函数。
8、 var和dynamic
后者就是为反射而设置的。 var是为动态而准备的。
var和dynamic完全是两个概念,根本不应该放在一起比较.var实际上是编译期抛给我们的”语法糖”,一旦被编译,编译期会自动匹配var变量的实际类型,并用实际类型来替换该变量的声明,这看上去就好像我们在编码的时候用实际类型进行声明的.
dynamic被编译后,实际是一个object类型,只不过编译器会对dynamic类型特殊处理,让它在编译期间不进行任何的类型检查,而是将类型检查放到了运行期。
c#设置机制认识纪要之一
最新推荐文章于 2022-04-26 08:24:12 发布