Linq中的Select 投影

2022-09-14 07:42:10 字數 1263 閱讀 7456

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操作,將資料來源中的元素投影到新的序列中,並指定元素的型別和表現...