转换通用列表的代码清晰度?

Cur*_*ite 1 .net c# linq linq-to-sql

此代码应将listType2s(list)列表转换为type1s列表.我觉得功能有点难以确定.

我期待看到更容易阅读,简洁,简洁的替代方法.

        List<Type1> type1s = new List<Type1>();
        listType2s.ForEach(t => type1s.Add((new Type1(t))));
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 5

我通常同意使用LINQ来做这类事情 - 但是从.NET 2.0 List<T>开始就有了一个ConvertAll方法,它实际上会更有效率(因为它已经知道了它的大小):

List<Type1> type1s = listType2s.ConvertAll(t => new Type1(t));
Run Code Online (Sandbox Code Playgroud)

我可能自己使用LINQ,除非我有一个特殊的理由不这样做,因为那时它与其他可能也会使用LINQ的代码一致.