是否可以在不使用foreach的情况下重新创建此语句?

dot*_*oob 5 .net c# linq

可能重复:
C#:是具有继承的泛型类型的运算符

是否可以在不使用foreach语句的情况下将类型从Deal更改为DealBookmarkWrapper而将列表添加到另一个列表中?

var list = new List<IBookmarkWrapper>();
foreach (var deal in deals)
{
    list.Add(new DealBookmarkWrapper(deal));
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

Jus*_*ner 9

如果你想要完全等价:

var list = deals.Select(d => new DealBookmarkWrapper(d))
                .Cast<IBookmarkWrapper>()
                .ToList();
Run Code Online (Sandbox Code Playgroud)

但是如果你只是迭代元素并且不需要a List,你可以不用调用GetList().