在
linq
查詢表示式中,
where
子句指定篩選元素的邏輯條件,一般由邏輯運算子(如邏輯「與」、邏輯「或」)組成。乙個查詢表示式可以不包含
where
子句,也可以包含
1個或多個
where
子句。每乙個
where
子句可以包含
1個或多個布林條件表示式。
對於乙個
linq
查詢表示式而言,
where
子句不是必須的。如果
where
子句在查詢表示式中出現,那麼
where
子句不能為在查詢表示式的第乙個子句或最後乙個子句。下面的**例項就演示了乙個簡單的查詢操作,並在該查詢表示式中使用了
where
子句。int values = ;
var value = from v in values
where v < 3
select v;
下面的**例項就演示了乙個簡單的查詢操作,並在該查詢表示式中使用了
where
子句。其中,
where
子句由兩個布林表示式和邏輯符合「
&&」組成。
///構建資料來源
listusers = new list();
for (int i = 1; i < 10; i++)
///查詢
id值小於
3的使用者
var value = from u in users
where u.id < 3 && u.username.indexof("0") > -1
select u;
上述的**例項執行之前和之後,資料來源和查詢操作的結果對比如表
所示。表
資料來源和查詢操作的結果對比(2)
資料來源查詢表示式/操作
查詢結果 說明
values
(包含9
個元素,元素的
id屬性的值分別為1、
2、3、
4、5、
…、9)
from userinfo u in values
where u.id < 3 && u.username.indexof("0") > -1
select u
value
(包含2
個元素,元素的
id屬性的值分別為1、
2)下面的**例項就演示了乙個簡單的查詢操作,並在該查詢表示式中使用了
where
子句。其中,
where
子句由兩個布林表示式和邏輯符號「
&&」組成。其中,乙個布林表示式由
i***istusername(string username)
函式實現。
///構建資料來源
listusers = new list();
for (int i = 1; i < 10; i++)
///查詢
id值小於
3的使用者
var value = from u in users
where u.id < 3 && i***istusername(u.username)
select u;
……///
判斷使用者名稱是否包含「
0」字串
private bool i***istusername(string username)
上述的**例項執行之前和之後,資料來源和查詢操作的結果對比如表
所示。表
資料來源和查詢操作的結果對比(3)
資料來源查詢表示式/操作
查詢結果 說明
values
(包含9
個元素,元素的
id屬性的值分別為1、
2、3、
4、5、
…、9)
from userinfo u in values
where u.id < 3 && i***istusername(u.username)
select u
value
(包含2
個元素,元素的
id屬性的值分別為1、
2)
精通LINQ 4 1 LINQ查詢子句概述
查詢 query 是一組指令,這些指令可以從乙個或多個給定的資料來源中檢索資料,並指定檢索結果的資料型別和表現形式。查詢表示式是一種用查詢語法表示的表示式,由一組用類似於 sql或 xquery 的宣告性語法編寫的子句組成。每乙個子句可以包含乙個或多個 c 表示式,而這些表示式本身又可能是查詢表示式...
精通LINQ 4 2 3 select子句
在 linq 查詢表示式中,select 子句指定查詢結果的型別和表現形式。linq 查詢表示式要麼以 select 子句結束,要麼為 group 子句結束。下面的 例項就演示了包含最簡單 select 子句的查詢操作。該 select 子句選擇元素的本身。int values var value ...
精通LINQ 4 2 5 orderby子句
在 linq 查詢表示式中,orderby 子句可以對查詢結果進行排序。排序方式可以為 公升序 或 降序 且排序的鍵可以為乙個或多個。注意 linq 查詢表示式對查詢結果的預設排序方式為 公升序 下面的 例項中的 orderquery 函式演示了 orderby 子句對查詢的結果進行倒序排序的方法,...