[英]Filtering a list of objects without linq c#
我有一個稱為圖像的對象列表,這些對象是通過解析文本文件獲得的。 它們包含詳細信息,例如類別和說明。 我希望能夠在列表中進行搜索以找到具有特定類別的圖像,然后在我已設置的表單上顯示它們。 我想對它們進行過濾,然后還可以還原到未過濾的視圖。
class Image
{
public string FileName { set; get; }
public string Description { set; get; }
public string Catagory { set; get; }
public string Date { set; get; }
public string Comments { set; get; }
}
這就是我要在Linq做的
string chosenCatagory = CatagoryComboBox.Text;
ImageList = ImageList.Where(x => x.Catagory == chosenCatagory).ToList();
不使用Linq來解決此問題的最佳方法是什么?
您可以使用List的FindAll
方法:
ImageList = ImageList.FindAll(x => x.Catagory == chosenCatagory);
使用兩個列表。 ImageList包含所有數據,而DisplayList僅用您要顯示的內容填充。
DisplayList = ImageList.FindAll(x => x.Catagory == chosenCatagory);
如果要還原,請將DisplayList設置回ImageList。
DisplayList = ImageList;
如果您想做更多高級的事情,也可以看看CollectionView 。 它支持過濾,分組和排序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.