首页 > 解决方案 > 使用需要 T1 的 T2 的构造函数从 T1 列表创建 T2 列表

问题描述

如果我得到一个Type1来自方法的列表GetType1List

List<Type1> Type1List = GetType1List();

然后,我可以创建一个列表Type2并循环使用第一个列表,使用它的构造函数foreach添加新Type2的,该构造函数需要一个Type1实例:

List<Type2> Type2List = new List<Type2>();
foreach(Type1 type1 in Type1List)
{
    Type2List.Add(new Type2(Type1));
}

有什么方法可以在不创建初始列表Type1和不创建foreach循环的情况下将其包装起来?

标签: c#.netlist

解决方案


使用 LINQ Select

List<Type2> Type2List = Type1List
    .Select(type1 => new Type2(type1))
    .ToList();

推荐阅读