Le plus souvent nous trouvons une liste générique avec un code comme:
CartItem Item = Items.Find(c => c.ProductID == ProductID);
Item.Quantity = Quantity;
Item.Price = Price;
Ainsi, le code ci-dessus trouve et met à jour d'autres données, mais si je veux rechercher plusieurs conditions, comment puis-je écrire le code?
Je veux écrire du code comme:
CartItem Item = Items.Find(c => c.ProductID == ProductID and c.ProductName == "ABS001");
Veuillez me guider pour plusieurs conditions lorsque nous trouvons une liste générique.
Essaye ça:
CartItem Item = Items.Find(c => (c.ProductID == ProductID) && (c.ProductName == "ABS001"));
Essaye ça:
Items.Find(c => c.ProductID == ProductID && c.ProductName == "ABS001");
Le corps de l'expression lambda n'est qu'une méthode. Vous pouvez y utiliser toutes les constructions de langage, comme dans la méthode standard.
Personnellement, je préfère
Items.Find(item => item.ProductId == ProductID && item.ProductName.Equals("ABS001"));
Utilisez && au lieu de et
var result = Items.Find(item => item.ProductId == ProductID && item.ProductName == "ABS001");
Cela m'agace quand quelqu'un nomme une variable avec le premier caractère en majuscule, donc (productID au lieu de productID):
CartItem Item = Items.Find(c => (c.ProductID == productID) && (c.ProductName == "ABS001"));
:)