今天下午学习了JAVA里面没有的一个技术点—记点笔记以备日后查用。
JAVA里面没有,说明即使没有LINQ,我们照样可以我们想要的功能,那么LINQ 的意义在哪呢,两个字——“简单”。
那么什么是LINQ呢,LINQ是Language Intergated Query 的缩写,即集成查询语言,既然是查询语言,那么就是为查询准备的。首先我们看一个查询集合的例子,首先定义一个实体类Person。
public class Person
{
public Person() { }
public Person(string name, int age)
{
this.Age = age;
this.Name = name;
}
public string Name {get;set;}
public int Age { get; set; }
public override string ToString()
{
return "姓名:"+Name+",年龄:"+Age.ToString();
}
}
增加一个存储Person类的集合,并存储部分实体。
List<Person> perList = new List<Person>();
perList.Add(new Person("张三",20));
perList.Add(new Person("李四", 30));
perList.Add(new Person("王五", 64));
perList.Add(new Person("赵六", 99));
perList.Add(new Person("王重阳", 102));
perList.Add(new Person("张三疯", 120));
perList.Add(new Person("小倩", 2));
下面就是关键的运用查询语句了,假设我们要查询Age大于50的Person。
var linqQuery = from per in perList where per.Age>50 select per;
foreach (var per in linqQuery)
{
Console.Write(per + "\r\n");
}
感觉是不是很简单?下面再具体分析一下LINQ.
var linqQuery = from per in perList where per.Age>50 select per;
上面这条语句是LINQ查询语句的赋值语句,这个语句只是赋值语句,不执行查询,下面的foreach才是查询语句。
LINQ语句已from开通,以select 或group结尾,可以使用where 添加查询条件。