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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.