可能重複:
Is it possible to recreate this statement without using a foreach?嘗試轉換的foreach中的LINQ相當於
我有2個類共享一個基類
DealBookmarkWrapper : BookmarkWrapper
StoreBookmarkWrapper : BookmarkWrapper
我也有下面的語句:
// 1 - This works
List<BookmarkWrapper> bm = new List<BookmarkWrapper>();
foreach(var d in deals)
{
bm.Add(new DealBookmarkWrapper(d));
}
// 2 - This does not work
List<BookmarkWrapper> bm2 = deals.Select(d => new DealBookmarkWrapper(d)).ToList();
1)工作原理但2需要演員工作。我不確定自己是在做錯事還是在第二種情況下真的需要演員陣容。
任何人都會對此有所瞭解?
@Nacereddine:這不是該問題的重複,OP想知道*爲什麼*第二個解決方案不起作用。 – Ani
這可以幫助你:[協方差和反變化](http://stackoverflow.com/questions/11186493/c-is-operator-for-generic-types-with-inheritance/11186567#11186567) –