共用方式為


let 子句 (C# 參考)

在查詢運算式中,若要將子運算式的結果用於後續子句,則儲存子運算式的結果有時會十分有用。 做法是使用 let 關鍵字,這個關鍵字會建立新的範圍變數,並利用提供的運算式結果來初始化這個範圍變數。 使用值進行初始化之後,就不可以再使用範圍變數來儲存另一個值。 不過,如果範圍變數保留的是可查詢的型別,則還是可以對它進行查詢。

範例

在下列範例中,let 有兩種使用方式:

  1. 建立本身可以進行查詢的可列舉型別。

  2. 讓查詢只在範圍變數 word 上呼叫一次 ToLower。 如果未使用 let,就需要在 where 子句的每個述詞 (Predicate) 中呼叫 ToLower。

class LetSample1
{
    static void Main()
    {
        string[] strings = 
        {
            "A penny saved is a penny earned.",
            "The early bird catches the worm.",
            "The pen is mightier than the sword." 
        };

        // Split the sentence into an array of words 
        // and select those whose first letter is a vowel. 
        var earlyBirdQuery =
            from sentence in strings
            let words = sentence.Split(' ')
            from word in words
            let w = word.ToLower()
            where w[0] == 'a' || w[0] == 'e'
                || w[0] == 'i' || w[0] == 'o'
                || w[0] == 'u'
            select word;

        // Execute the query. 
        foreach (var v in earlyBirdQuery)
        {
            Console.WriteLine("\"{0}\" starts with a vowel", v);
        }

        // Keep the console window open in debug mode.
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}
/* Output:
    "A" starts with a vowel
    "is" starts with a vowel
    "a" starts with a vowel
    "earned." starts with a vowel
    "early" starts with a vowel
    "is" starts with a vowel
*/

請參閱

工作

如何:處理查詢運算式中的例外狀況 (C# 程式設計手冊)

概念

LINQ 查詢運算式 (C# 程式設計手冊)

其他資源

C# 參考

查詢關鍵字 (C# 參考)

開始使用 C# 中的 LINQ