命名空間: System.Linq
提供一組用於查詢實現 IEnumerable<T> 的對象的 static(在 Visual Basic 中爲 Shared)方法。
該類中的方法提供標準查詢運算符的實現,該運算符用於查詢實現 IEnumerable<T> 的數據源。
標準查詢運算符是通用方法,它們遵循 LINQ(LINQ,語言集成查詢(Language Integrated Query)是一組用於c#和Visual Basic語言的擴展。它允許編寫C#或者Visual Basic代碼以查詢數據庫相同的方式操作內存數據。) 模式,使用它們可以在任何基於 .NET 的編程語言中表示數據的遍歷、篩選和投影運算。
該類中的大多數方法被定義爲擴展 IEnumerable<T> 的擴展方法。 這意味着可以像調用實現 IEnumerable<T> 的任意對象上的實例方法一樣調用它們。只有枚舉查詢對象時,返回一個值序列的查詢所使用的方法才使用目標數據。 這就是延遲執行。 返回單一實例值的查詢所使用的方法可立即執行和使用目標數據。
示例:
int[] arr = new[] { 1, 2, 3, 4, 5 };
// 求和
int sum = arr.Sum(); // sum = 15
// 求最大值
int max = arr.Max(); // max = 5
// 滿足條件的最大值
int maxCon = arr.Max(a =>
{
if (a < 4) return a;
return 0;
}); // maxCon = 3
// 尋找第一個元素
int first = arr.FirstOrDefault(); // first = 1
//尋找滿足條件的元素
int firstCon = arr.FirstOrDefault(a => a > 2); // firstCon = 3
// 靜態數組轉動態
List<int> list = arr.ToList();
//數組中的數是否全爲正數
bool isPositiveNumber = arr.All(a => a > 0);
// 對於List 同樣適用
Enumerable 類中涉及各種方法在此就不一一列出了
參考: https://msdn.microsoft.com/zh-cn/library/system.linq.enumerable(v=vs.110).aspx