亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Linq:獲取列表中的項目,該列表也在列表中

Linq:獲取列表中的項目,該列表也在列表中

C#
收到一只叮咚 2022-01-15 17:23:07
我目前正在嘗試獲取商店列表中的產品列表,但前提是產品名稱相同。我總是得到 0 件物品。我嘗試使用以下兩種不同的方法來解決問題。//First Approach, return 0var stores= Store.ReadAll().Where(prods => prods.Products.Contains(product))//Second Approach, doesn't compile but it shows what i wan't to do.var stores= Store.ReadAll().Where(prods => prods.Products.Where(p => p.ProductName == productName));幫助表示贊賞:)
查看完整描述

3 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

您正在尋找的是Any而不是Where

var products = Store.ReadAll().Where(prods => prods.Products.Any(p => p.ProductName == productName));



查看完整回答
反對 回復 2022-01-15
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

假設stores是一個 IEnumerable 類型,那么下面應該可以工作。將第二個參數傳遞給 Contains 方法很重要,因此比較不區分大小寫,否則如果產品名稱之間的大小寫不同,它將不返回任何內容。

我在回答中假設 Store 類型有一個名為 Products of List< string > 類型的屬性。

var matchingStores = stores.Where(s=> s.Products.Contains(productName,
                                                    StringComparer.OrdinalIgnoreCase));


查看完整回答
反對 回復 2022-01-15
?
慕田峪9158850

TA貢獻1794條經驗 獲得超8個贊

所以我部分解決了我的問題,顯然,這不是一個真正的 linq 問題,而是一個數據庫問題。我有一個對象列表,其中包含一個對象列表,這給了我一個 M:M 關系。但是當我使用 list.add(item) 更改列表時,.net Entity Framework 沒有重新配置。所以我的清單總是空的。

但無論如何,感謝您的幫助!:)


查看完整回答
反對 回復 2022-01-15
  • 3 回答
  • 0 關注
  • 161 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號