Wybierz wiele jest jak operacja łączenia krzyżowego w SQL, gdzie bierze produkt krzyżowy.
Na przykład jeśli mamy
Set A={a,b,c}
Set B={x,y}
Wybierz wiele, aby uzyskać następujący zestaw
{ (x,a) , (x,b) , (x,c) , (y,a) , (y,b) , (y,c) }
Zauważ, że tutaj bierzemy wszystkie możliwe kombinacje, które można wykonać z elementów zestawu A i zestawu B.
Oto przykład LINQ, którego możesz spróbować
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 });
mix będzie miał następujące elementy w płaskiej strukturze, takie jak
{(10,cat), (10,dog), (10,donkey), (20,cat), (20,dog), (20,donkey)}