如何将List的某些字段复制到另一个List的某些字段而不使用foreach循环?

Kar*_*ooz 2 c# list

我想知道是否可以使用c#将列表复制到另一个列表而不执行foreach循环,我发现此链接:

如何在没有foreach的情况下将项目从列表复制到列表?

Jon Skeet发布了这件衣服:

targetList.AddRange(sourceList);

在我访问此链接后,一个新的问题发生在我身上,这可能会将列表的某些字段复制到另一个列表的某些字段中,其中两个列表的架构不同而不执行foreach循环?

Jam*_*s S 5

你可以这样做:

targetlist.AddRange(sourceList.ConvertAll(x => new targetItem(){prop1 = x.prop1, prop2 = x.prop2}));
Run Code Online (Sandbox Code Playgroud)

在幕后,循环仍在发生,但代码看起来更整洁!