1. 可以對查詢出來的結果做一些轉換,下面的例子在陣列中查詢以"b"開頭的名字,然後全部轉成小寫輸出:
string names = ;var rs = from n in names
where n.startswith("b")
select n.tolower();
2. 返回匿名型別,比如linq to sql查詢資料庫的時候只返回需要的資訊,下面的例子是在northwind資料庫中查詢customer表,返回所有名字以"b"開頭的客戶的id和名稱:
northwinddatacontext dc = new northwinddatacontext();var cs = from c in dc.customers
where c.contactname.startswith("b")
select new
;
3. 對於陣列,select可以對陣列元素以及索引進行操作:
string names = ;var rs = names.select((name, index) => new );
4. 組合查詢,可以對多個資料來源進行組合條件查詢(相當於使用selectmany函式),下面的例子其實就相對於乙個雙重迴圈遍歷:
int numbersa = ;int numbersb = ;
var pairs =
from a in numbersa,
b in numbersb
where a < b
select new ;
console.writeline("pairs where a < b:");
foreach (var pair in pairs)
console.writeline(" is less than ", pair.a, pair.b);
而用linq to sql的話,相當於進行一次子查詢:
northwinddatacontext dc = new northwinddatacontext();var rs = from c in dc.customers
from o in c.orders
where o.shipcity.startswith("b")
select new ;
foreach (var r in rs)
console.writeline(r);
LINQ查詢操作 投影
我們一般說的 linq 是指 linq 表示式,詳見 linq 步步學 但除了表示式以外,linq 查詢操作更方便,凡是實現了介面 ienumerable或 iqueryable的,都可以用 linq 查詢操作。select int arr var items arr.select i i fore...
Linq查詢操作之投影操作
投影操作,乍一看不知道在說啥。那麼什麼是投影操作呢?其實就是select操作,名字起的怪怪的。和linq查詢表示式中的select操作是一樣的。它能夠選擇資料來源中的元素,並指定元素的表現形式。投影操作包括以下2種操作 1 select操作,將資料來源中的元素投影到新的序列中,並指定元素的型別和表現...
Linq查詢操作之投影操作
投影操作,乍一看不知道在說啥。那麼什麼是投影操作呢?其實就是select操作,名字起的怪怪的。和linq查詢表示式中的select操作是一樣的。它能夠選擇資料來源中的元素,並指定元素的表現形式。投影操作包括以下2種操作 1 select操作,將資料來源中的元素投影到新的序列中,並指定元素的型別和表現...