MVC 標準查詢運算子

2021-09-07 08:40:16 字數 2153 閱讀 2112

標準查詢運算子:定義在system.linq.enumerable類中的50多個為ienumerable準備的擴充套件方法,這些方法用來

對它操作的集合進行查詢篩選。

篩選集合where:需要提供乙個帶bool返回值的「篩選器」,從而表明集合中某個元素是否應該被返回。

查詢投射,返回新物件集合ienumerableselect()

統計數量 int count()

多條件排序 order by().thenby().thenby()

集合鏈結join()

public

class

ninedemo

)).tolist();

//遍歷所以使用者姓名+年齡

uslist.foreach(u=>console.writeline(u.name+u.age);

//遍歷 年齡大於12的使用者

user.foreach(u=>console.writeline(u.name);

//縮寫 年齡大於12的使用者

listuser = uslist.where(u=>u.age > 12

);

//2. order排序

listuser = uslist.orderbydescending(u=>u.age).tolist();

//先按年齡降序、手機號降序、姓名公升序

listuser = uslist.orderbydescending(u=>u.age).thenbydescending(u=>u.phone).thenby(u=>u.name).tolist();

//3. join 鏈結

//user 和 dept(deptid) 要有關係,user中有deptid .

//得到乙個新的集合(匿名類) (u代表uslist,p代表dtlist)

var ud = uslist.join(dtlsit,u=>u.deptid,p=>deptid,(u,p)=>new ).tolist();

//遍歷

ud.foreach(u=>console.writeline(u.name+u.deptname));

-------------

//第二種方式

//臨時封裝乙個實體,用來接收新的資料

[serializable]

public

class

userdept

public

string loginname

public

string deptname

}//得到乙個新的集合(userdept集合接收)

listud = uslist.join(dtlsit,u=>u.deptid,p=>deptid,(u,p)=>new userdept()).tolist();

//遍歷

ud.foreach(u=>console.writeline(u.name+u.deptname));

//4. groupby 分組

//按照集合中的使用者的部門編號進行分組(用ienumerable>接收)

ienumerablestring,user>> usersgroup = uslist.groupby(u=>u.deptid);

//也可以放在匿名中

var usersgroup = uslist.groupby(u=>u.deptid);

//遍歷

foreach(igrouping group in

usergroup)

}//5. skip+take分頁

//skip的意思:跳過,take:拿,取

//前提資料來源按一定的列進行排序

listpagelist = uslist.orderby(u=>u.name).tolist();

//取第二頁資料

listus = getpagelistbyindex(pagelist,2

);

//遍歷

us.foreach(u=>u.name+u.phone);

//封裝乙個方法

//根據頁碼提取當頁資料 ,list要分頁的資料,pageindex頁碼

static listgetpagelistbyindex(listlist,int

pageindex)

}}

linq標準查詢運算子

適用場景 對查詢出的語句進行排序,比如按時間排序等等。說明 按指定表示式對集合排序 延遲,按指定表示式對集合排序 延遲,預設是公升序,加上descending表示降序,對應的擴充套件方法是orderby和orderbydescending 這個例子使用 orderby 按雇用日期對雇員進行排序 va...

(運算子) 運算子

運算子既可作為一元運算子也可作為二元運算子。備註 unsafe context data guid 00bf87717d88a9fac1afadb796c675da 一元 運算子返回運算元的位址 要求 unsafe 上下文 bool data guid 9efd189df2cfb88799dca08...

JS運算子 算術運算子 比較運算子 賦值運算子

兩邊的變數都是number型別 則是單純的加法運算 當字串出現時 結果是字串型別 字串之後的內容 不論什麼型別 都會被作為字串進行拼接 例子 var num1 10 var num2 20 num num1 num2 var result num1 num2 num1 false console.l...