我知道可以一次将一种类型的项目列表转换为另一种类型(假设您的对象具有公共静态显式运算符方法进行转换),如下所示:
List<Y> ListOfY = new List<Y>(); foreach(X x in ListOfX) ListOfY.Add((Y)x);
但是不可能一次投射整个列表吗?例如,
ListOfY = (List<Y>)ListOfX;
如果X真的可以投给Y你应该可以使用
X
Y
List<Y> listOfY = listOfX.Cast<Y>().ToList();
需要注意的一些事情(向评论者致敬!)
using System.Linq;
List<Y>
ToList()