我有2個IEnumerables其是類型「產品」的 - totalProducts和ProductsChosen。正如名稱所示,產品中包含所有可用產品,所選產品包含用戶選擇的產品。問題合併的IEnumerable <T>使用lambda表達式
產品分類具有屬性Id
,number
和IEnumerable<AdditonalOptions> options
。
我試圖合併這2個IEnumerables這樣
public IEnumerable<Product> MergeProducts(IEnumerable<Product> Products, IEnumerable<Product> ProductsChosen)
{
return ProductsChosen.Concat(Products.Where(r => !ProductsChosen.Any(x => x.ProductId.Equals(r.ProductId))));
}
我用代碼從here
此代碼工作正常只有當我考慮的產品ID合併,但我也想合併productsChosen
與該totalProducts
的IEnumerable<AdditionalOption> options
如果產品ID same.But我不知道該怎麼做。
可能有人請幫助我嗎?
由於
改爲使用「聯合()」方法 - 儘管concat是可接受的答案,正如您在選票中看到的那樣,聯盟是首選 – Smudge202
改進的標籤列表以吸引更多的意見 – AakashM
我認爲這個問題需要澄清。我的解釋是,你正在尋找找到'產品'這兩個集合的聯合,並且'產品'的結果是你想要'AdditionalOptions'的聯合。那是對的嗎? –