.Net Framework 3.5中的新增特性

一、.Net Framework 3.5中的新增特性:

1、隐式类型化的变量

     例如 Var = 5;Linq就使用这个功能。

2、自动实现属性

     例如 public int MyProperty {get;set}

3、对象和集合初始化器

     例如 MyStructure mystructure = new MyStructure() {MyProperty1 = 10,MyProperty2 = 20}

             List<int> myInt = new List<int>() {1,2,3}

4、Linq,可以查询对象、数据集、SqlServer数据库、XML等

 

二、泛型类的特性

1、默认值:default关键字用于将泛型初始化为null或0

     例如 T obj = default(T);

2、约束:定义泛型类型的类时,如果要求实例化的类必须实现某个接口时,可以加上约束。

     例如 public interface ImyInterface {...}

             public class BaseClass : ImyInterface {...}

             public class MyClass<TBaseClass >

                       where TBaseClass : ImyInterface {...}

 

            Main()

            {

                //只有实现了ImyInterface接口的类才能去声明MyClass泛型类

                MyClass<BaseClass> myClass = new MyClass<BaseClass>();

            }

     还可以合并多个约束,例如:where T:I1,new(),意思是必须继承I1接口且必须有一个默认构造函数。

3、继承:泛型类可以继承泛型接口也可以派生于一个泛型类。

     例如:public class MyClass<T>:IMyInterface<T>

              public class MyClass<T>:Base<T>

              public class MyClass<T>:Base<String>

4、静态成员:泛型类的静态成员只能在类的一个实例中共享。

     例如:public class MyClass<T>

              {

                   public static int x;

              }

              MyClass<int>.x = 1;

              MyClass<String>.x = 2;

              两个实例的值互不影响。

三、泛型接口

      泛型可以定义接口,接口中的方法可以带泛型参数

      例如:public interface IMyInterface<T>

               {

                    int MyFunction(T val);

               }   

四、泛型方法

      void func<T>(ref T val);

      调用方式:1、func<int>(ref 1);

                     2、func(1);   

五、泛型委托

      例如:

        public delegate T MyFunc<T>(T t);

        public static T getVal<T>(T t, MyFunc<T> f)
        {
            T retVal = default(T);

            retVal = f(t);

            return retVal;
        }

     调用方式:

     1、匿名方法调用方式:

          string j = MyClass.getVal<string>("liangyuhui",delegate(string s){return "I am " + s;});//j=I am liangyuhui

     2、λ表达式方式:

          int i = MyClass.getVal<int>(100, p => { return p + 100; });  //i=200 

     采用委托引用的方法,可以实现任何逻辑。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值