色尼玛亚洲综合影院,亚洲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)系我們修改或刪除,多謝。

主站蜘蛛池模板: 华坪县| 青浦区| 南昌县| 建昌县| 宣武区| 孙吴县| 龙川县| 漠河县| 八宿县| 格尔木市| 娱乐| 望江县| 乐昌市| 铜陵市| 嘉善县| 三都| 台北县| 磴口县| 潼关县| 宁德市| 平罗县| 鸡东县| 云南省| 抚顺市| 聊城市| 凤山市| 黎城县| 遂平县| 澎湖县| 西贡区| 闸北区| 扬州市| 平阳县| 大庆市| 通许县| 深水埗区| 博野县| 宣汉县| 永济市| 武功县| 京山县|