在BindingList <t> </t>中查找

时间:2012-07-28 11:40:27

标签: .net winforms bindinglist

如何在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>

中没有“查找”方法

1 个答案:

答案 0 :(得分:14)

您可以使用LINQ中的SingleOrDefault代替Find

Product product = productList.SingleOrDefault(p => p.ProductID == 1);
如果没有此类产品,

product将为null。如果有多个匹配项,则会抛出异常。

你应该真正研究LINQ to Objects - 它使数据上的许多操作显着更简单。