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(对象);

原文地址:https://www.cnblogs.com/blosaa/p/2055479.html