如何在BindingList中查找具有属性等于特定值的对象。以下是我的代码。
public class Product
{
public int ProductID { get; set; }
public string ProductName { get; set; }
}
BindingList<Product> productList = new BindingList<Product>();
现在考虑productList有100个产品,我想找到id为10的产品对象。
我可以使用
找到它productList.ToList<Product>().Find(p =>p.ProductID == 1);
但我觉得使用ToList()是一个不必要的听到。有没有直接的方法可以做到这一点,BindingList<T>
答案 0 :(得分:14)
您可以使用LINQ中的SingleOrDefault
代替Find
:
Product product = productList.SingleOrDefault(p => p.ProductID == 1);
如果没有此类产品, product
将为null。如果有多个匹配项,则会抛出异常。
你应该真正研究LINQ to Objects - 它使数据上的许多操作显着更简单。