您的位置:首页 > 编程语言 > C#

C#语法基础

2015-11-02 17:05 211 查看
[b]泛型[/b]

1、default(T)可以返回T类型的空值,因为你不知道T是值类型还是引用类型,所以别擅自用null

2、泛型约束

        很多时候我们不希望使用者太过自由

        我们希望他们在使用我们设计的泛型类型时

        不要很随意的传入任何类型

        对于泛型类型的设计者来说,要求使用者传入指定的类型是很有必要的

        因为我们只有知道他传入了什么东西,才方便对这个东西做操作

        让我们来给上面设计的泛型类型加一个泛型约束

        代码如下:        

          public static class SomethingFactory<T> where T:MyObj


        这样在使用SomethingFactory的时候就只能传入MyObj类型或MyObj的派生类型啦

        注意:

          还可以写成这样

          where T:MyObj,new()

          来约束传入的类型必须有一个构造函数。

[b]泛型委托[/b]

1、Predicate泛型委托

2、Action泛型委托

3、Func泛型委托

[b]匿名方法[/b]

new action(delegate(int param){

});

注:Lambda表达式更简洁

[b]Lambda表达式[/b]

(a,b)=>{}

[b]扩展方法[/b]

定义在静态类中的静态方法中,使用this在要扩展方法的类型前。

[b]迭代器[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: