簡體   English   中英

通過指定多個條件在通用列表中查找項目

[英]Find an item in a generic list by specifying multiple conditions

通常我們會找到包含以下代碼的通用列表:

CartItem Item = Items.Find(c => c.ProductID == ProductID);
Item.Quantity = Quantity;
Item.Price = Price;

所以上面的代碼找到並更新了其他數據,但如果我想通過多個條件找到,那么我該如何編寫代碼呢?

我想寫代碼如下:

CartItem Item = Items.Find(c => c.ProductID == ProductID and c.ProductName == "ABS001");

當我們找到通用列表時,請引導我了解多種情況。

試試這個:

CartItem Item = Items.Find(c => (c.ProductID == ProductID) && (c.ProductName == "ABS001"));

試試這個:

Items.Find(c => c.ProductID == ProductID && c.ProductName == "ABS001");

lambda表達式的主體只是一種方法。 您可以在其中使用所有語言結構,如常規方法。

就個人而言,我更喜歡

Items.Find(item => item.ProductId == ProductID && item.ProductName.Equals("ABS001"));

使用&&而不是

var result = Items.Find(item => item.ProductId == ProductID && item.ProductName == "ABS001");

當有人使用大寫的第一個char命名變量時,它會讓我感到惱火,所以(productID而不是ProductID):

CartItem Item = Items.Find(c => (c.ProductID == productID) && (c.ProductName == "ABS001"));

:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM