一尘不染

从列表进行转换的语法较短 到清单?

c#

我知道可以一次将一种类型的项目列表转换为另一种类型(假设您的对象具有公共静态显式运算符方法进行转换),如下所示:

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

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

但是不可能一次投射整个列表吗?例如,

ListOfY = (List<Y>)ListOfX;

阅读 216

收藏
2020-05-19

共1个答案

一尘不染

如果X真的可以投给Y你应该可以使用

List<Y> listOfY = listOfX.Cast<Y>().ToList();

需要注意的一些事情(向评论者致敬!)

2020-05-19