7
votes

Convertir iEnumerable à la liste

Si je veux convertir énumérable ( ienumerable ) à la liste.

Qu'est-ce qui est plus efficace:

  1. myENumerable.toliste ()

  2. ou nouvelle liste (myEnumérable)

    Merci!


1 commentaires

Je suis trop paresseux pour utiliser une refleteur mais probablement myenumerable.toliste () appels nouvelle liste (myenumerable)


3 Réponses :


4
votes

Le premier appelle le second, afin qu'ils soient à toutes fins utiles.

La gigue peut bien aligner la méthode tolist () qui les rendra identiques modulo un chèque null. Et sans doute, l'enregistrement null dans énumérable .tolist () est redondant, car la liste constructeur informatique effectue également une vérification null.


0 commentaires

2
votes

serait la même chose. (Le premier est plus lisible.)


0 commentaires

7
votes

Ils prennent plus ou moins au même moment pour exécuter mais nouvelle liste (myEnumérable) est un peu plus rapide.

myENumerable.toliste () fera une nouvelle liste (myEnumérable) sous la hotte, mais il vérifie d'abord si la collection est nulle et jette un exception si c'est. Si vous savez que MyEnumerable n'est pas null, vous pouvez utiliser le Tolist ().

Mais, à mon avis, écrivez le code qui est le plus facile à lire. Ceci est une micro optimisation que vous ne devriez pas dépenser trop de temps.


0 commentaires