Dot-Net

在 BindingList<T> 中查找

  • July 28, 2012

如何在 BindingList 中找到屬性等於特定值的對象。下面是我的程式碼。

public class Product
{
   public int ProductID { get; set; } 
   public string ProductName { get; set; }  
}

BindingList&lt;Product&gt; productList = new BindingList&lt;Product&gt;();

現在考慮 productList 有 100 個產品,我想找到 id 為 10 的產品對象。

我可以找到它使用

productList.ToList&lt;Product&gt;().Find(p =&gt;p.ProductID == 1);

但我覺得在這裡使用 ToList() 是不受歡迎的。有沒有直接的方法可以做到這一點,沒有“查找”方法BindingList&lt;T&gt;

您可以使用SingleOrDefaultLINQ 代替Find

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

product如果沒有此類產品,則為 null。如果有多個匹配項,則會引發異常。

您真的應該研究 LINQ to Objects - 它使對數據的許多操作變得更加簡單

引用自:https://stackoverflow.com/questions/11700697