Linq原理相关(隐式类型var、匿名类型、实例化类、集合初始化)
1. var(隐式类型)
例如: var temp ="abc"; //正确,
var temp;
temp = "abc" //错误
原因:隐式类型其实就是根据=右边的数据类型来确定左边的数据类型
2. 匿名类型
var与new关键字一起使用时,就可以创建匿名类型。匿名类型只是一个继承了object的,没有名称的类,该类的定义从初始化器中推断.
例: var book = new{Name ="js",Price = 100}
var bookA = new{Name = "c#",Price = 200}
Console.WriteLine(book.GetType());
Console.WriteLine(bookA.GetType());
book与bookA的类型是一样的,这个匿名类型系统会自动生成。
3. 实例化类
class Book
{
private string _name; //书名
private int _price; //价格
public string Name
{
get { return _name; }
set { _name = value; }
}
public int Price
{
get { return _price; }
set { _price = value; }
}
}
//这种事例的方法是3.0后的新特性
Book book = new Book { Name = "abc", Price = 100 }; //{}内的是对Book中的属性赋值
4.集合初始化
//3.0后的新特性
List<Employee> list=new List<Employee>
{
new Employee{Id=1,Name="蓝之风",Age=24,BirthDate="1984-10-21",Sex="男"},
new Employee{Id=2,Name="张三",Age=18,BirthDate="1990-10-24",Sex="男"},
new Employee{Id=3,Name="李四",Age=30,BirthDate="1978-1-1",Sex="男"}
};
//2.0中是调用 list.Add(对象);