Est-ce que C# Distinct() la méthode de garder l'original de la commande de séquence intacte?

Je veux supprimer les doublons de la liste, sans changer l'ordre des éléments dans la liste.

Jon Skeet & d'autres ont suggéré à la suite de la

list = list.Distinct().ToList();

en supprimant les doublons d'une liste de C#

Supprimer les doublons d'une Liste<T> en C#

Est-il garanti que l'ordre des éléments uniques serait comme avant? Si oui, veuillez donner une référence qui confirme ce que je n'ai rien trouvé dans la documentation.

  • la documentation officielle ici msdn.microsoft.com/en-us/library/bb348436(v=vs. 110).aspx les états explicitement "méthode Distinct() renvoie un non ordonnée séquence qui ne contient pas de doublons".
  • la séquence' est pas le même que 'origine de la commande de séquence".
  • Je considère que "la unoredered" pour dire "en aucun ordre particulier", ce qui implique aussi "pas nécessaire dans l'ordre original de la séquence".
  • J'ai juste eu un problème concernant distinctes avec oracle12 Entity Framework 6. Dans mon cas, j'ai eu orderby avant disinct dans mon linq clause et l'ordre a disparu. sélectionnez().OrderBy().Distinct().ToList() ne fonctionne pas alors que select().OrderBy().Distinct().ToList() a travaillé.
  • ces expressions sont les mêmes. 🙂
InformationsquelleAutor Nitesh | 2011-01-19