Linq擴展方法之All 、Any


        // Summary:
        //     確定序列中的所有元素是否滿足條件。
        // Parameters:
        //   source:包含要應用謂詞的元素的 System.Collections.Generic.IEnumerable`1。
        //   predicate:用於測試每個元素是否滿足條件的函數。
        // Type parameters:
        //  TSource:source 中的元素的類型。
        // Returns:如果源序列中的每個元素都通過指定謂詞中的測試,或者序列為空,則為 true;否則為 false。
        // Exceptions:T:System.ArgumentNullException:source 或 predicate 為 null。
        public static bool All<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);

int[] numbers1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
  var bl = numbers1.All(val => val > 10);

All   確定序列中的所有元素是否滿足條件。

Any  確定序列是否包含任何元素。

        // Summary: 確定序列是否包含任何元素。
        // Parameters:
        //   source:要檢查是否為空的 System.Collections.Generic.IEnumerable`1。
        // Type parameters:
TSource:source 中的元素的類型。 // Returns:如果源序列包含任何元素,則為 true;否則為 false。 // Exceptions:T:System.ArgumentNullException:source 為 null。 public static bool Any<TSource>(this IEnumerable<TSource> source);

          var bl2 = numbers1.Any();

方法二:

        // Summary:確定序列中的任何元素是否都滿足條件。
        // Parameters:
        //   source:一個 System.Collections.Generic.IEnumerable`1,其元素將應用謂詞。
        //   predicate:用於測試每個元素是否滿足條件的函數。
        // Type parameters:
        //   TSource: source 中的元素的類型。
        // Returns:如果源序列中的任何元素都通過指定謂詞中的測試,則為 true;否則為 false。
        // Exceptions:
        //   T:System.ArgumentNullException: source 或 predicate 為 null。
        public static bool Any<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
        var bl3 = numbers1.Any(val => val%2 == 0);

          //創建一個整型數組
          int[] intArray = new int[] { 0, 1, 2, 3 };
          //聲明Func委托, 判斷是否是奇數
          Func<int, bool> IsOdd = i => ((i % 2) == 0);(3)
          //執行查詢操作, 別忘了具有"延遲特性"
          var items = intArray.Any(IsOdd);(4)

          //(3)(4)可以改寫為一句代碼 var items = intArray.Any(i => ((i % 2) == 0));

          //顯示結果
          foreach (int item in items)
             Console.WriteLine(item);
          Console.ReadLine();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM