select子句指定所选定的对象哪部分应该被选择。类似于Sql 语句中的Select
ListstuList = new List () { new Student(){ID=1,Name="LiLei",Age=22}, new Student(){ID=2,Name="JingJing",Age=19}, new Student(){ID=3,Name="Json",Age=31}, new Student(){ID=4,Name="Mary",Age=40} , }; Console.WriteLine("-------------1 查找所有-------------"); var stu = from s in stuList select s; foreach (var item in stu) { Console.WriteLine(item.Name); }
根据我们的要查找字段的类型来创建
ListstuList = new List () { new Student(){ID=1,Name="LiLei",Age=22}, new Student(){ID=2,Name="JingJing",Age=19}, new Student(){ID=3,Name="Json",Age=31}, new Student(){ID=4,Name="Mary",Age=40} , }; Console.WriteLine("-------------2 查询某个字段-------------"); stu = from s in stuList where s.Name.ToString().StartsWith("J") select s; foreach (var item in stu) { Console.WriteLine(item.Name); }
select 查询表达式可以在我们查询的时候帮助我们创建一个匿名类型的对象,一般在我们不需要传递参数的时候可以直接使用
ListstuList = new List () { new Student(){ID=1,Name="LiLei",Age=22}, new Student(){ID=2,Name="JingJing",Age=19}, new Student(){ID=3,Name="Json",Age=31}, new Student(){ID=4,Name="Mary",Age=40} , }; Console.WriteLine("-------------3 创建匿名类型对象-------------"); var stu2 = from s in stuList where s.Name.ToString().StartsWith("J") select new { s.ID, s.Name }; foreach (var item in stu2) { Console.WriteLine(item.Name); }
如果在后续过程中需要用到查询结果的明确的类型,那么可以通过在创建对象的时候直接指明对象
Console.WriteLine("-------------4创建对象-------------");
var stu3 = from s in stuList
where s.Name.ToString().StartsWith("J")
select new Student { ID = s.ID, Name = s.Name };
foreach (var item in stu3)
{
Console.WriteLine(item.Name);
}



