動態規劃-2-所有結點對最短路徑
阿新 • • 發佈:2021-10-28
什麼是Linq?
語言整合查詢
Linq的作用?
簡化查詢
Linq的分類:
Linq to object(陣列,list集合) :linq操作記憶體集合,記憶體裡面的資料
Linq to sql(查詢資料庫用) : linq操作資料庫,資料庫裡的資料
Linq to xml(查詢xml檔案) : linq 操作xml
Linq語法
var 返回值=from 變數名 in 資料來源(可以是資料庫,也可以是集合)
orderby 排序
where 變數名.xx=””
join連線查詢
select返回
Linq呼叫方式
1,通過擴充套件方式呼叫
List<Student> StudentsNew2 = Students.Where((a) => { return a.Age >= 20; }).ToList();
2,通過表示式方式
練習:通過Linq對集合進行篩選排序等
1,建立一個物件集合
List<UserInfo> myList = new List<UserInfo>(); myList.Add(new UserInfo() { name = "李清照", age = 23, address = "宋" }); myList.Add(new UserInfo() { name = "黃月英", age = 18, address = "三國" }); myList.Add(new UserInfo() { name = "黃忠", age = 50, address = "三國" }); myList.Add(new UserInfo() { name = "黃某", age = 27, address = "三國" }); myList.Add(new UserInfo() { name = "黃某", age = 35, address = "三國" });
2,根據姓名查詢全部欄位
var lq = from u in myList
where u.name == "黃某"
select u;
//將查詢結果返回
List<UserInfo> newList = lq.ToList();
3,根據地址查詢並排序而且返回兩個欄位(通過一個新物件來返回)
var lq = from u in myList orderby u.age where u.address == "三國" select new UserInfo() { name = u.name, age = u.age }; //將查詢結果返回 List<UserInfo> newList = lq.ToList();
4,根據姓名模糊查詢並按年齡降序排序而且返回兩個欄位(使用匿名物件返回)
//匿名物件適用於只取資料不傳遞資料
var lq = from u in myList
orderby u.age descending
where u.name.Contains("黃某")
select new
{
name = u.name,
age = u.age
};
foreach (var item in lq)
{
Console.WriteLine(string.Format("姓名:{0},年齡:{1},地址:", item.name, item.age));
}