从 T1 列表中创建 T2 列表,使用需要 T1 的 T2 构造函数

jam*_*art 2 .net c# list

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

List<Type1> Type1List = GetType1List();
Run Code Online (Sandbox Code Playgroud)

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

List<Type2> Type2List = new List<Type2>();
foreach(Type1 type1 in Type1List)
{
    Type2List.Add(new Type2(Type1));
}
Run Code Online (Sandbox Code Playgroud)

有什么办法可以在不创建循环Type1和没有foreach循环的初始列表的情况下完成它?

Joh*_*lay 5

使用 LINQ Select

List<Type2> Type2List = Type1List
    .Select(type1 => new Type2(type1))
    .ToList();
Run Code Online (Sandbox Code Playgroud)