Question concernant C# " s " Liste<>.ToString`

Pourquoi ne pas C# List<>'s ToString méthode de fournir un sensible représentation de chaîne qui imprime à son contenu? Je reçois le nom de la classe (ce qui je suppose est la valeur par défaut object.ToString mise en œuvre) lorsque j'essaie d'imprimer un List<> objet. Pourquoi donc?

  • Voir les édité question.
  • Vous ne voulez pas un OutOfMemoryException pour une grande liste.
  • Dans ce cas, il suffit d'imprimer d'abord quelques éléments et ensuite une ellipse de la marque.
  • trop d'intelligence pour une méthode que 99.9% de temps de vous ne les utilise pas parce que vous avez besoin de la chaîne d'une autre façon...
  • les points de suspension sont mauvais parce que généralement, l'idée est de ToString pour être en mesure d'Aller si il y a une mise en œuvre concrète. Avec les points de suspension qui allait se briser. Encore moins dire qu'il serait inutile sans un moyen de spécifier quand les points de suspension doivent être des lieux. En outre, il est encore plus compliqué parce qu'une liste peut contenir une référence à lui-même dans son contenu qui entraînerait une récursivité infinie quand ToStringing les éléments de contenu.