一、.Net Framework 3.5中的新增特性:
1、隐式类型化的变量
例如 Var = 5;Linq就使用这个功能。
2、自动实现属性
例如 public int MyProperty {get;set}
3、对象和集合初始化器
例如 MyStructure mystructure = new MyStructure() {MyProperty1 = 10,MyProperty2 = 20}
List
4、Linq,可以查询对象、数据集、SqlServer数据库、XML等
二、泛型类的特性
1、默认值:default关键字用于将泛型初始化为null或0
例如 T obj = default(T);
2、约束:定义泛型类型的类时,如果要求实例化的类必须实现某个接口时,可以加上约束。
例如 public interface ImyInterface {...}
public class BaseClass : ImyInterface {...}
public class MyClass
where TBaseClass : ImyInterface {...}
Main()
{
//只有实现了ImyInterface接口的类才能去声明MyClass泛型类
MyClass
}
还可以合并多个约束,例如:where T:I1,new(),意思是必须继承I1接口且必须有一个默认构造函数。
3、继承:泛型类可以继承泛型接口也可以派生于一个泛型类。
例如:public class MyClass
public class MyClass
public class MyClass
4、静态成员:泛型类的静态成员只能在类的一个实例中共享。
例如:public class MyClass
{
public static int x;
}
MyClass
MyClass
两个实例的值互不影响。
三、泛型接口
泛型可以定义接口,接口中的方法可以带泛型参数
例如:public interface IMyInterface
{
int MyFunction(T val);
}
四、泛型方法
void func
调用方式:1、func
2、func(1);
五、泛型委托
例如:
public delegate T MyFunc
public static T getVal
{
T retVal = default(T);
retVal = f(t);
return retVal;
}
调用方式:
1、匿名方法调用方式:
string j = MyClass.getVal
2、λ表达式方式:
int i = MyClass.getVal
采用委托引用的方法,可以实现任何逻辑。