Le scénario est pour un tableau de classement de football. Je peux commander la liste par pourcentage de victoires, puis par buts marqués pour déterminer leur position dans la ligue. J'utilise ensuite cette commande pour obtenir la position des équipes dans la table de classement en utilisant la fonction IndexOf
.Obtenir l'index de l'article dans la liste en fonction de la valeur
this.results = this.results.OrderByDescending(x => x.WinPercentage).ThenByDescending(x => x.Goals);
this.results.Foreach(x => x.Position = this.results.IndexOf(x));
Le problème se pose lorsque deux équipes (devrait être joint # 1) ont le même pourcentage de victoire du match et les buts marqués mais lors de l'obtention de l'indice d'une équipe seront attribués # 1 et l'autre # 2.
Y a-t-il un moyen d'obtenir la bonne position?
Je suppose que votre problème n'a pas de solution, une fois que si deux éléments (ANY) a le même score dans une liste, vous serez toujours avoir un derrière l'autre. Vous devez développer un moyen d'assumer la même position de liste pour deux partitions identiques: Je vous suggère de créer un tableau bidimensionnel ou LISTE, où l'une des valeurs est la position numérique, et abandonner la position LIST comme index de chaque équipe en ligue. –
Oui, c'est pourquoi j'ai posté cette question que ma méthode actuelle ne fonctionne pas. J'espérais être pointé dans la bonne direction avec d'autres solutions potentielles. –