在 Linq 查詢中定義變數(let 關鍵字)

要在 linq 表示式中定義變數,可以使用 let 關鍵字。這通常是為了儲存中間子查詢的結果,例如:

 int[] numbers = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

 var aboveAverages = from number in numbers
                     let average = numbers.Average()
                     let nSquared = Math.Pow(number,2)
                     where nSquared > average
                     select number;

 Console.WriteLine("The average of the numbers is {0}.", numbers.Average());

 foreach (int n in aboveAverages)
 {
   Console.WriteLine("Query result includes number {0} with square of {1}.", n, Math.Pow(n,2));
 }

輸出:

這些數字的平均值是 4.5。
查詢結果包括數字 3 和 9 的平方。
查詢結果包括數字 4 和 16 的平方。
查詢結果包括數字 5 和 25 的平方。
查詢結果包括數字 6 和 36 的平方。
查詢結果包括數字 7 和 49 的平方。
查詢結果包括數字 8,方形為 64.
查詢結果包括數字 9,方形為 81。

檢視演示