C#3新增语法特性
C#3,.Net Framework 3.5 ,Visual Studio 2008, CLR 3.0
C#3.0新引进的语法基于.Net Framework 3.5。主要引进的语法:Linq,隐式类型局部变量,匿名类型,对象和集合的初始化器,自动属性,扩展方法,查询表达式,Lamda表达式,表达式树,部分方法。
其中最重要的当属Linq
1、Linq
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 public void TestLinq() 2 { 3 List<string> nameList = new List<string>() { 4 "Jim","Lily","Tim","Lucy","John","Jobs" 5 }; 6 List<string> lNameList = new List<string>(); 7 #region 以下为非linq查询nameList中以L开头的名字 8 9 foreach (string nameItem in nameList) 10 { 11 if (nameItem.StartsWith("L")) 12 { 13 lNameList.Add(nameItem); 14 } 15 } 16 #endregion 17 #region 使用linq+ 18 IEnumerable<string> tmpNameList = from n in lNameList 19 where n.StartsWith("L") 20 select n; 21 22 #endregion 23 }
2、隐式类型局部变量,就是引入了关键字var,其只能定义在方法体中作为局部变量,并且在定义时初始化,其实已经确定了类型。
var dateString = "1900-1-1";
3、匿名类型,也类似于隐式类型局部变量,用var关键字定义
var varClass=new{name="john",Code="J0001"};
4、对象与属性的初始化器
EmployEntity emp = new EmployEntity()
{
EmpCode = "J0001",
EmpName = "John",
EmpId = 1,
};
5、自动属性
public string UserName { get; set; }
6、扩展方法
7、查询表达式
8、Lamda表达式
9、表达式树
10、部分方法