8

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

4

1 回答 1

15

您可以使用SingleOrDefaultLINQ 代替Find

Product product = productList.SingleOrDefault(p => p.ProductID == 1);

product如果没有此类产品,则为 null。如果有多个匹配项,则会引发异常。

您真的应该研究 LINQ to Objects - 它使对数据的许多操作变得更加简单

于 2012-07-28T11:48:57.870 回答