Ho una lista di numeri e ho bisogno di creare ogni combinazione unica dei numeri nell'elenco, senza ripetizioni, utilizzando una query LINQ. Quindi, ad esempio, se ho { 1, 2, 3 }
, le combinazioni sarebbero 1-2
, 1-3
e 2-3
.Selezionare tutte le combinazioni univoche di un singolo elenco, senza ripetizioni, utilizzando LINQ
Attualmente uso due for
loop, in questo modo:
for (int i = 0; i < slotIds.Count; i++)
{
for (int j = i + 1; j < slotIds.Count; j++)
{
ExpressionInfo info1 = _expressions[i];
ExpressionInfo info2 = _expressions[j];
// etc...
}
}
E 'possibile convertire questi due for
cicli di LINQ?
Grazie.
vedere questo per una discussione sulla prima soluzione esoterica: http://stackoverflow.com/questions/7991486/select-all-unique- combinazioni-di-una-lista-singola-con-nessuna-ripetizioni-usando-linq-pa – Thilo
@David: Non credo che nessuna delle raccolte in .NET restituisca gli elementi in un ordine diverso quando iterato più volte senza cambia tra. Non ci interessa quale sia l'ordine, a patto che sia coerente. –
Dangit, poi abbiamo il bug più strano da qualche parte, grazie cancellerò i miei 2 commenti: p – David