Viele auswählen ist wie Cross-Join-Operation in SQL wobei es das Kreuzprodukt nimmt.
Wenn wir zum Beispiel Folgendes haben
Set A={a,b,c}
Set B={x,y}
Select many kann verwendet werden, um den folgenden Satz zu erhalten
{ (x,a) , (x,b) , (x,c) , (y,a) , (y,b) , (y,c) }
Man beachte, dass wir hier alle möglichen Kombinationen aus den Elementen der Menge A und der Menge B nehmen.
Hier ist ein LINQ-Beispiel, das Sie ausprobieren können
List<string> animals = new List<string>() { "cat", "dog", "donkey" };
List<int> number = new List<int>() { 10, 20 };
var mix = number.SelectMany(num => animals, (n, a) => new { n, a });
der Mix wird folgende Elemente in flacher Struktur enthalten wie
{(10,cat), (10,dog), (10,donkey), (20,cat), (20,dog), (20,donkey)}
9 Stimmen
Sie können sich den Code für SelectMany mit einer Funktion oder mit zwei Funktionen ansehen referencesource.microsoft.com/#System.Core/System/Linq/
1 Stimmen
Wenn Sie mit Kotlin vertraut sind, hat es ganz ähnliche Implementierungen für Sammlungen wie map aka C# Select und flatMap aka C# SelectMany. Grundsätzlich Kotlin std Bibliothek Erweiterung Funktionen für Sammlungen hat Ähnlichkeit mit C # Linq Bibliothek.
0 Stimmen
Würde man zustimmen, dass
SelectFromMany
wäre ein viel beschreibenderer Name alsSelectMany
?