namespace Linq
{
public class Student
{
public int Id{get;set;}
public string Name{get;set;}
public int Age{get;set;}
}
class Program
{
static void Main(string[] args)
{
List<Student> studentlist = new List<Student>()
{
new Student(){
Id=1,
Name="卡卡西",
Age=26
},
new Student(){
Id=2,
Name="鸣人",
Age=18
},
new Student(){
Id=3,
Name="佐助",
Age=32
},
new Student(){
Id=4,
Name="小李",
Age=27
},
new Student(){
Id=5,
Name="纲手",
Age=55
},
new Student(){
Id=6,
Name="我爱罗",
Age=16
}
};
{
Console.WriteLine("**********Linq 进行查询list里面 年龄大于30岁的 并打印出来*********");
var newlist = studentlist.Where(t => t.Age > 30);//陈述式
foreach (var item in newlist)
{
Console.WriteLine("{0} {1} {2}岁", item.Id, item.Name, item.Age);
}
}
{
Console.WriteLine("**********Linq 通过form进行查询list里面 年龄大于15岁的 并打印出来*********");
var newlist = from s in studentlist
where s.Age > 15
select new
{
IdAge = string.Format("{0}_{1}", s.Id, s.Age),
Name = s.Name
};
//
//select s;
foreach (var item in newlist)
{
Console.WriteLine("{0} {1}", item.IdAge, item.Name);
}
}
{
Console.WriteLine("**********Linq 进行查询list里面 年龄大于20岁的把ID和年龄合并一起打印出来 ID_年龄*********");
var newlist = studentlist.Where(t => t.Age > 20)
.Select(t => new
{
IdAge = string.Format("{0}_{1}", t.Id, t.Age),
Name = t.Name
});
foreach (var item in newlist)
{
Console.WriteLine("{0} {1}", item.IdAge, item.Name);
}
}
{
Console.WriteLine("**********Linq 进行查询年龄从大到小排序 第三到第五人*********");
var newlist = studentlist//.OrderBy(t => t.Age) //根据Age排序 从小到大
.OrderByDescending(t => t.Age) //从大到小排序
.Skip(2) //跳过前两条
.Take(3); //共获取3条数据
foreach (var item in newlist)
{
Console.WriteLine("{0} {1} {2}岁", item.Id, item.Name, item.Age);
}
}
{
Console.WriteLine("*****大集合*******");
var newlist = studentlist.Where(t => t.Age > 10 && t.Id < 20) //查询年龄大于10并且ID小于20的
.OrderBy(t => t.Age)//按照年龄排序 从小到大
.Skip(1)//跳过第一条
.Take(3)//获取3条
.Select(t => new//投影成一个新类
{
StudentId = t.Id,
StudentName = t.Name,
StudentAge = t.Age
});
foreach (var item in newlist)
{
Console.WriteLine("{0} {1} {2}岁", item.StudentId, item.StudentName, item.StudentAge);
}
}
}
}
}
初涉Linq
最新推荐文章于 2022-03-10 11:42:18 发布