LinQ语句可以将所有继承了数组类IEnumerable的类在内存中使用类似sql的语句进行查询,极大的方便了对数列的查询。
使用范围:
所有List类、继承IEnumerable类的子类、数组类型;
List可以通过List.ToArray()转化成IEnumerable的子类。
使用方法:
在使用之前我们定义一个类
class Person
{
public Person(string _name,int _age,string _saying)
{
Name = _name;
Age = _age;
Saying = _saying;
}
public string Name;
public int Age;
public string Saying;
}
然后实例化这个类:
List<Person> lstPerson = new List<Person>();
lstPerson.Add(new Person("we",27,"人都是要退役的"));
lstPerson.Add(new Person("Clearlove7", 27, "而有的人需要一点小小的帮助"));
lstPerson.Add(new Person("Clearlove7", 28, "我不服"));
lstPerson.Add(new Person("Uzi", 22, "RNG牛逼"));
lstPerson.Add(new Person("Xiaohu", 22, "RNG牛逼"));
//此处将List转化为Array类,变成一个数组
var lst = lstPerson.ToArray();
使用LinQ
1、用土办法,拼写类似sql语句的表达式。
from X in LIST where * * groupby * * orderby * * select X;
//切记一定要select X 将X返回
var C = from item in lst where item.Saying = = "RNG牛逼" select item;
//此处转换回List类方便查看属性
var lstC = C.ToList();
2、用Eumnerable带的方法。
var A = lst.Where(item => item.Age = = 27);
var aC = A.ToList();
var B = lst.GroupBy(item => item.Saying);
var bC = B.ToList();