J'ai une liste de nombres, et j'ai besoin de créer chaque combinaison unique possible des nombres dans la liste, sans répétition, en utilisant une requête LINQ. Ainsi, par exemple, si j'ai { 1, 2, 3 }
, les combinaisons seraient 1-2
, 1-3
et 2-3
.Sélectionnez toutes les combinaisons uniques d'une seule liste, sans répétitions, en utilisant LINQ
J'utilise actuellement deux for
boucles, comme ceci:
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...
}
}
Est-il possible de convertir ces deux for
boucles LINQ?
Merci.
Voir ce pour une discussion sur la première solution ésotérique: http://stackoverflow.com/questions/7991486/select-all-unique- combinaisons-d'-une-liste-unique-avec-aucun-repeats-using-linq-pa – Thilo
@David: Je ne crois pas que les collections dans .NET retournent des éléments dans un ordre différent quand ils sont répétés plusieurs fois sans changements entre. Nous ne nous soucions pas de l'ordre, tant que c'est cohérent. –
Dangit, alors nous avons le bug le plus étrange quelque part, merci je vais supprimer mes 2 commentaires: p – David