色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

使用 LINQ 進行數(shù)據(jù)轉(zhuǎn)換

使用 LINQ 進行數(shù)據(jù)轉(zhuǎn)換

語言集成查詢 (LINQ) 不僅可用于檢索數(shù)據(jù),而是還是一個功能強大的數(shù)據(jù)轉(zhuǎn)換工具。通過使用 LINQ 查詢,您可以將源序列用作輸入,并采用多種方式修改它以創(chuàng)建新輸出序列。您可以通過排序和分組來修改序列本身,而不必修改元素本身。但是,LINQ 查詢最強大的功能可能在于它能夠創(chuàng)建新類型。這一功能在 select 子句中實現(xiàn)。例如,可以執(zhí)行下列任務(wù):

  • 將多個輸入序列合并到具有新類型的單個輸出序列中。
  • 創(chuàng)建其元素只包含源序列中的各個元素的一個或幾個屬性的輸出序列。
  • 創(chuàng)建其元素包含對源數(shù)據(jù)執(zhí)行的操作結(jié)果的輸出序列。
  • 創(chuàng)建不同格式的輸出序列。例如,您可以將 SQL 行或文本文件的數(shù)據(jù)轉(zhuǎn)換為 XML。

這只是幾個示例。當(dāng)然,可以采用多種方式將這些轉(zhuǎn)換組合在同一查詢中。另外,一個查詢的輸出序列可用作新查詢的輸入序列。

將多個輸入聯(lián)接到一個輸出序列

可以使用 LINQ 查詢來創(chuàng)建包含多個輸入序列的元素的輸出序列。下面的示例演示如何組合兩個內(nèi)存中的數(shù)據(jù)結(jié)構(gòu),但組合來自 XML 或 SQL 或數(shù)據(jù)集源的數(shù)據(jù)時可應(yīng)用相同的原則。假定下面兩種類類型:

class Student
{
public string First { get; set; }
public string Last {get; set;}
public int ID { get; set; }
public string Street { get; set; }
public string City { get; set; }
public List<int> Scores;
}

class Teacher
{
public string First { get; set; }
public string Last { get; set; }
public int ID { get; set; }
public string City { get; set; }
}

選擇各個源元素的子集

選擇源序列中的各個元素的子集有兩種主要方法:

1、若要只選擇源元素的一個成員,請使用點運算。在下面的示例中,假定 Customer 對象包含幾個公共屬性,其中包括名為 City 的字符串。在執(zhí)行此查詢時,此查詢將生成字符串輸出序列。

var query = from cust in Customers
select cust.City;

it知識庫使用 LINQ 進行數(shù)據(jù)轉(zhuǎn)換,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 溧水县| 云阳县| 吉林市| 景德镇市| 大英县| 肥乡县| 安仁县| 古蔺县| 康保县| 佛教| 平山县| 泰来县| 桂阳县| 兴和县| 柳河县| 普兰县| 湟中县| 澜沧| 蒲江县| 许昌市| 永靖县| 芮城县| 惠来县| 常熟市| 龙川县| 方正县| 东台市| 汤阴县| 巴塘县| 阳朔县| 宁波市| 恭城| 浦县| 枣庄市| 丰镇市| 凌云县| 叙永县| 成安县| 凤城市| 沭阳县| 抚顺市|