我们从一开始List<X>.X的每个对象都有一个Y类型的属性.你能提出一种优雅的方法来构造一个List,它由Z.x一些元素Z组成List<X>吗?我确信List<X>没有必要进行"手动"迭代.谢谢你的建议.
Mar*_*ell 10
如果是这样List<T>,那么:
var newList = oldList.ConvertAll(item => item.x);
Run Code Online (Sandbox Code Playgroud)
或者使用LINQ:
var newList = oldList.Select(item => item.x).ToList();
Run Code Online (Sandbox Code Playgroud)
请注意,在C#2.0中,第一个版本可能需要显式提到的泛型类型:
List<Y> newList = oldList.ConvertAll<Y>(delegate (X item) { return item.x; });
Run Code Online (Sandbox Code Playgroud)
(但实际上与第一行完全相同)
还有一个静态的Array.ConvertAll行为类似,但对于数组.