Witajcie, mam pewne pytanie.
Założmy, że mamy trzy listy - jedna typu String, druga int, a trzecia Double. W każdej liście znajdują się po 3 elementy.
List<int> values= new List<int>();
values.Add(2);
values.Add(1);
values.Add(5);
List<string> cities = new List<string>();
cities.Add("New York");
cities.Add("Mumbai");
cities.Add("Berlin");
List<double> values2 = new List<double>();
values2.Add(2.5);
values2.Add(3.7);
values2.Add(4.8);
I teraz gwódź programu - Mamy klasę :
public class Mix
{
int val;
String city;
double val2;
public Mix(int _val, String _city, double _val2)
{
this.val = _val;
this.city = _city;
this.val2 = _val2;
}
}
Chciałbym osiągnąć taki efekt by przeszukując wyżej zadeklarowane listy otrzymać wszystkie możliwe kombinacje obiektu Mix, czyli np:
2 New York 2.5
1 New York 3.7
5 New York 4.8
2 Mumbai 2.5
1 Mumbai 3.7
5 Mumbai 4.8
itd - po prostu wszystkie możliwe kombinację z tych trzech list. Jak mogłaby wyglądać taka pętla , która przeszukuje wszystkie elementy z trzech list i tworzy wszystkie możliwe kombinacje obiektów? W przypadku trzech list po 3 elementy powinno być 27 takich kombinacji. Wiadomo, że te kombinację mogę rozpisać na sztywno bo jest ich tylko 27, ale nie potrafię znaleźć rozwiązania optymalnego - niezależnego od ilości elementów w tych trzech listach. (Zakładam, że listy zawsze będą 3, może być tylko dodawana lub zmniejszana ilość elementów).
Z góry dzięki za odpowiedzi.