C# 语言新特征
2.0 引入泛型 , 3.0引入lambda 及 linq ,4.0引入更多的动态特征dynmaic
泛型(Generic)
List<Book> books = new List<Book>()
Book book = books[0];
//以前要用强制类型转换
ArrayList books =new ArrayList()
Book book = (Book) books[0];
泛型的话,也是引用类型,就不需要使用强制转换类型,这样的话,更加的安全。
匿名方法(只写函数,不写方法体)
delegate(参数){方法体}
new ThreadStart(delegate(){.....})); 这里ThreadStart是一位委托。
可以被隐式转换为一个兼容的委托类型
new Thread(delegate(){......});
Lamda表达式
相当于匿名方法的简写
省略delegate,甚至省略参数类型
直接用(参数)=>{语句或表达式}
例如:
button.click+=(sender.e)=>{........}
new Thread(()=>{........}).start();
PlotFun(x=>x*x,0,100);
Linq
常见的形式
from c in customers customers
where c.Age>10 .where(c=>c.age>10)
orderby c.name .orderby(c=>c.name)
select new{c.name,c.phone} .select(c=>new){c.name.c.phone})