这是我的代码:
private List<Picture> items;
public List<Picture> Items
{
get
{
if (items == null)
{
items = new List<Picture>();
items = this.LoadAllItems();
}
return items;
}
set
{
this.items = value;
}
}
public List<Picture> GetItemsBySearch(string searchTerm, string fieldName)
{
DataAccess dbcontext = new DataAccess();
string internalfield = dbcontext.GetInternalFieldNameByDisplayName(fieldName);
List<Picture> PictureHits = new List<Picture>();
var data = from Picture item in this.Items
where item.GetType().GetProperty(internalfield).GetValue(item, null).ToString().Contains(searchTerm)
select item;
foreach (Picture item in data)
{
PictureHits.Add(item);
}
return PictureHits;
}
data.Count
包含88个项目,但不会进入foreach
循环。
var
在foreach
循环中不起作用吗?
Picture
是一个包含filename
,ID
等对象的类。
这就是&#34;数据&#34;包含所以它包含88个项目吗?
答案 0 :(得分:2)
问题可能出在哪里?
var data = from Picture item in this.Items
where item.GetType().GetProperty(internalfield) // threre
.GetValue(item, null).ToString().Contains(searchTerm) // might bean issue
select item;
尝试评论并重新评论。如果foreach可以使用,那么您就有了筛选所有数据的条件。