Trouver dans BindingList<T>
Comment trouver un objet dans BindingList qui possède une propriété est égale à la valeur spécifique. Ci-dessous mon code.
public class Product
{
public int ProductID { get; set; }
public string ProductName { get; set; }
}
BindingList<Product> productList = new BindingList<Product>();
maintenant considérer que la productList a 100 produits et je veux trouver le produit, l'objet dont l'id est de 10.
Je peux le trouver à l'aide de
productList.ToList<Product>().Find(p =>p.ProductID == 1);
mais je me sens à l'aide de ToList() est un indésirable entendu ici. Est-il un moyen direct pour ce faire, il n'y a pas de "Trouver" la méthode en BindingList<T>
OriginalL'auteur krishnan | 2012-07-28
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
SingleOrDefault
de LINQ au lieu deFind
:product
sera null si il n'y avait pas de tels produits. Si il n'y a plus d'un match, une exception sera levée.Vous devriez vraiment regarder dans LINQ to Objects - il fait de nombreuses opérations sur les données significativement plus simple.
OriginalL'auteur Jon Skeet