جملة السماح (مرجع C#)

في تعبير الاستعلام،من المفيد أحياناً تخزين نتيجة التعبير الفرعية لاستخدامه في البنود التالية. يمكنك القيام بذلك مع الكلمة الأساسية let إنشاء متغير مجموعة جديدة وتهيئته بنتيجة التعبير التي قمت بتزويدها. بعد تهيئته بقيمة، لا يمكن استخدام متغير النطاق لتخزين قيمة أخرى. ومع ذلك، إذا كان متغير النطاق يحتوي على نوع استعلامي فإنه يمكن أن يتم استعلامه.

مثال

في المثال التالي let يتم استخدامها بطريقتين:

  1. لإنشاء نوع enumerable يمكن أن يستعلم نفسها.

  2. لتمكين الاستعلام استدعي ToLower مرة واحدة فقط على متغير النطاق word. بدون استخدام let، ويجب عليكالاتصال بـ ToLower في كل دالة تقييم في جملة where.

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# )

الشروع في استخدام LINQ في C#‎