May 2022
Intermediate to advanced
272 pages
5h 8m
German
Eine Abfrage kann mehrere Generatoren (from-Klauseln) enthalten:
int[] numbers = { 1, 2, 3 };
string[] letters = { "a", "b" };
IEnumerable<string> query = from n in numbers
from l in letters
select n.ToString() + l;
Das Ergebnis ist ein Kreuzprodukt, wie Sie es bei verschachtelten foreach-Schleifen erhalten würden:
"1a", "1b", "2a", "2b", "3a", "3b"
Wenn es in einer Abfrage mehr als eine from-Klausel gibt, erzeugt der Compiler einen Aufruf von SelectMany:
IEnumerable<string> query = numbers.SelectMany (
n => letters,
(n, l) => (n.ToString() + l));
SelectMany führt verschachtelte Schleifendurchläufe aus. Es enumeriert jedes Element in der Quell-Collection (numbers) und wandelt jedes Element mit dem ersten Ausdruck um ...
Read now
Unlock full access