可能重复:
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)
谢谢.
如果你想要完全等价:
var list = deals.Select(d => new DealBookmarkWrapper(d))
.Cast<IBookmarkWrapper>()
.ToList();
Run Code Online (Sandbox Code Playgroud)
但是如果你只是迭代元素并且不需要a List,你可以不用调用GetList().