【发布时间】:2014-05-22 14:07:21
【问题描述】:
我需要使用(Where(x=>x.IsMallExternal == false)) 过滤 ObservableCollection。
使用此代码:
ObservableCollection<Shop> test = allShopsForCat.Where(x => x.IsMallExternal == false);
我收到此错误:
Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<DataModel.Shop>' to 'System.Collections.ObjectModel.ObservableCollection<DataModel.Shop>'.
所以我改用这段代码作为解决方案,但似乎不是最好的方法。
- 我想知道如何在我的方法中使用
.Where过滤 ObservableCollection。
public ObservableCollection<Shop> Shops
{
get
{
ObservableCollection<Shop> allShopsForCat = App._dataSource.GetShopsForCategoryAll(_id);
//ObservableCollection<Shop> test = allShopsForCat.Where(x => x.IsMallExternal == false); // THIS DOES NOT WORK
ObservableCollection<Shop> shopsNotExternal = new ObservableCollection<Shop>();
// Get only shops for category which are internal to mall
foreach (var shop in allShopsForCat)
{
if (shop.IsMallExternal == false)
{
shopsNotExternal.Add(shop);
}
}
return shopsNotExternal;
}
}
【问题讨论】: