Syntaxe plus courte pour le moulage à partir d'une Liste<X> une Liste<Y>?

Je sais que c'est possible de lancer une liste d'éléments d'un type à l'autre (étant donné que votre objet a un public static explicite de l'opérateur méthode pour faire le casting, un à la fois, comme suit:

List<Y> ListOfY = new List<Y>();

foreach(X x in ListOfX)
    ListOfY.Add((Y)x);

Mais n'est-il pas possible de jeter de l'ensemble de la liste en une seule fois? Par exemple,

ListOfY = (List<Y>)ListOfX;
  • J'ai juste essayé de faire un peu plus clair. Ne vous inquiétez pas, vous n'êtes pas, je comprends 🙂
  • En supposant X dérive de Y, et Z dérive de Y, pensez à ce qui pourrait arriver si vous Z ajoutées à votre Liste<Y> qui est vraiment une Liste<X>.
InformationsquelleAutor Jimbo | 2011-02-25