初识Linq

238 阅读1分钟

Linq技术——语言集成查询

首先要掌握的知识

一、隐式转换:应用于方法属性内部的变量声明

  • var声明局部变量必须赋初始值,不能以NULL为初始值。
  • 在类范围内(方法属性除外),不能使用var声明变量
public class Fun(){
    
     public void fun()
     {
         var a = 2;
         var b = "123";
         var c = true
    }
}

二、匿名类型:一个继承了Object的没有名称的类,C#在编译时会自动生产名称唯一的类。 (建立一个Person类,字段有id,name)

  • 对象初始化:匿名类,和自定义类
    var Person = new {id=1,name="张浩东"};
    //由于没有类的名称,所以称为匿名类,是可以使用var定义的变量存储的
    Person person = new  Person{id=1,name="张浩东"};
   
    //同样的道理,我们在此代码中,给自定义的Person类实例化时,
    //并没有使用传统的方式初始化,而是使用了对
    //象初始化器初始化对象
  • 集合初始化器
    list<string> lis = new list<string>()  
    {
        "123",
        "456",
        "789"
    }

自我感觉,匿名类的好处,就是在经行linq查询时,可以自定义一些字段来满足相应的需求,更加简便,例如计算总价格,性别bool判断,匿名成员必须使用必须使用 名称 来声明

Linq查询语句

from in ,where , select 

匿名对象

var list = from item in Stulist where item.age>20 select new 
        {
            sex = item.sex==true?"男":"女";
            he = item.price* item.num;
        }