Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In einem Abfrageausdruck kann es nützlich sein, das Ergebnis eines Unterausdrucks zu speichern, damit Sie es in späteren Klauseln verwenden können. Verwenden Sie das let Schlüsselwort, um eine neue Bereichsvariable zu erstellen und mit dem Ergebnis eines Ausdrucks zu initialisieren. Nachdem Sie die Bereichsvariable mit einem Wert initialisiert haben, können Sie sie nicht mehr einem anderen Wert zuweisen. Wenn die Bereichsvariable jedoch einen abfragefähigen Typ enthält, können Sie ihn abfragen.
Die C#-Sprachreferenz dokumentiert die zuletzt veröffentlichte Version der C#-Sprache. Außerdem enthält sie eine erste Dokumentation zu Funktionen in der öffentlichen Vorschau für die kommende Sprachversion.
In der Dokumentation werden alle Features identifiziert, die in den letzten drei Versionen der Sprache oder in der aktuellen öffentlichen Vorschau eingeführt wurden.
Tipp
Informationen dazu, wann ein Feature erstmals in C# eingeführt wurde, finden Sie im Artikel zum Versionsverlauf der C#-Sprache.
Im folgenden Beispiel let wird auf zwei Arten verwendet:
- Er erstellt einen aufzählbaren Typ, den Sie abfragen können.
- Sie ermöglicht es der Abfrage, nur einmal für die Bereichsvariable
wordaufzurufenToLower. Ohne Verwendungletmüssen Sie jedes Prädikat in derwhereKlausel aufrufenToLower.
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($"\"{v}\" starts with a vowel");
}
}
}
/* 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
*/