Linq源元素簡單分析
Linq有很多值得學(xué)習(xí)的地方,這里我們主要介紹選擇各個(gè)Linq源元素的子集,包括介紹對(duì)Linq源元素執(zhí)行操作等方面。
選擇各個(gè)Linq源元素的子集
選擇源序列中的各個(gè)Linq源元素的子集有兩種主要方法:
1、若要只選擇Linq源元素的一個(gè)成員,請(qǐng)使用點(diǎn)運(yùn)算。在下面的示例中,假定 Customer 對(duì)象包含幾個(gè)公共屬性,其中包括名為 City 的字符串。在執(zhí)行此查詢時(shí),此查詢將生成字符串輸出序列。
- var query = from cust in Customers
- select cust.City;
2、若要?jiǎng)?chuàng)建包含Linq源元素的多個(gè)屬性的元素,可以使用具有命名對(duì)象或匿名類型的對(duì)象初始值設(shè)定項(xiàng)。下面的示例演示如何使用匿名類型來封裝各個(gè) Customer 元素的兩個(gè)屬性:
- var query = from cust in Customer
- select new {Name = cust.Name, City = cust.City};
對(duì)Linq源元素執(zhí)行操作
輸出序列可能不包含源序列的任何元素或元素屬性。輸出可能是通過將Linq源元素用作輸入?yún)?shù)計(jì)算出的值的序列。在執(zhí)行下面這個(gè)簡單查詢時(shí),此查詢會(huì)輸出一個(gè)字符串序列,該序列值表示根據(jù) double 類型的元素的源序列進(jìn)行的計(jì)算。
- class FormatQuery
- {
- static void Main()
- {
- // Data source.
- double[] radii = { 1, 2, 3 };
- // Query.
- IEnumerable<string> query =
- from rad in radii
- select String.Format("Area = {0}", (rad * rad) * 3.14);
- // Query execution.
- foreach (string s in query)
- Console.WriteLine(s);
- // Keep the console open in debug mode.
- Console.WriteLine("Press any key to exit.");
- Console.ReadKey();
- }
- }
【編輯推薦】