19 messaggi dal 02 novembre 2005
Ciao ragazzi,

ho un quesito da sottoporvi.

Ho un ArrayList contenente List<object>, voglio trovare le combinazioni tra tutti gli oggetti
usando Linq.

Esempio:

List<int> A = {1;2;3}
List<int> B = {4;5}
List<int> C = {6;7;8}
........
........
.......
List<int> N-esima = {.....}

L'ArrayList contiene le n-liste.

Il risultato finale deve essere la combinazione degli oggetti per cui:
1;4;6
1;4;7
1;4;8
.....
.....


Secondo voi è possibile risolvere questo problema con Linq?
E se si, quale potrebbe essere la soluzione?

Grazie.
non so con linq, ma puoi semplicemente usare un metodo ricorsivo

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
19 messaggi dal 02 novembre 2005
@Nostromo
L'ho già risolto ricorsivamente, voglio solo sapere se esite un modo per risolvere il problema con Linq.

Ciao
bhe se già lo hai risolto non vedo perche scervellarsi a scriverlo con LINQ che mica è l'olio di lorenzo, alla fine farebbe ne più e ne meno quello che fai senza usarlo.

comunque fai vedere la soluzioni che hai adottato e vediamo se è possibile sciverla con LINQ, magari mixxando join e alre cose alla fine arriviamo al solito risultato

ciao maroc

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
19 messaggi dal 02 novembre 2005
Qualcosa di simile:


List<string> group1 = new List<string>(new string[] { "Item 1", "Item 2" });
List<string> group2 = new List<string>(new string[] { "Item 3" });
List<string> group3 = new List<string>(new string[] { "Item 6", "Item 7" });
List<List<string>> groups = new List<List<string>>(new List<string>[] { group1 });

Iterate(groups, 0, "");


public void Iterate(List<List<string>> groups, int currentGroup, string completeString)
{
List<string> group = groups[currentGroup];
foreach (string element in group)
{
if (currentGroup < groups.Count - 1)
Iterate(groups, currentGroup + 1, AppendToString(completeString, element));
else
Response.Write(AppendToString(completeString, element) + "<br>");
}
}
public string AppendToString(string stringSoFar, string newElement)
{
if (!(string.IsNullOrEmpty(stringSoFar)))
stringSoFar += ", ";
return stringSoFar + newElement;
}

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.