程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> LINQ學習筆記:創建方法

LINQ學習筆記:創建方法

編輯:關於.NET

創建方法

方法 描述 Empty 創建一個空序列 Repeat 創建一個包含重復元素的序列 Range 創建一個包含整數的序列

Empty, Repeat和Range都是靜態方法, 用於加工簡單的本地序列

Empty

Empty制造一個空序列並且只需要一個類型參數:

   1: foreach (string s in Enumerable.Empty<string>())
   2:   Console.Write(s);            // <nothing>

與??操作符聯合, Empty可以完成和DefaultIfEmpty相反的工作. 例如, 假設我們有一個鋸齒形狀的整型數組, 並且我們希望能夠將所有的整數放入到一個扁平的列表當中. 以下的SelectMany將會失敗因為輸入序列包含了null的內部數組:

   1: int[][] numbers =
   2: {
   3:   new int[] { 1, 2, 3 },
   4:   new int[] { 4, 5, 6 },
   5:   null          // null會導致查詢失敗.
   6: };
   7:
   8: IEnumerable<int> flat =
   9:   numbers.SelectMany (innerArray =>innerArray);

Empty聯合??操作符可以修正此問題:

   1: IEnumerable<int> flat = numbers
   2:   .SelectMany (innerArray =>
   3:                innerArray ?? Enumerable.Empty <int>() );
   4:
   5: foreach (int i in flat)
   6:   Console.Write (i + " ");      // 1 2 3 4 5 6

Range和Repeat

Range和Repeat只能與整數一起工作. Range接受一個起始索引和取值總數:

   1: foreach (int i in Enumerable.Range (5,5))
   2:   Console.Write (i + " ");                 // 5 6 7 8 9

Repeat接受一個接受重復的數字以及要重復的次數的參數:

   1: foreach (int i in Enumerable.Repeat (5,3))
   2:   Console.Write (i + " ");                 // 5 5 5

待續!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved