我不明白为什么我的变量selected
不包含所有变量的内容。例如,在我的情况下,变量TempX
containt一个超对象,但只要我到达第一个相交,它会丢失,我的视图始终显示一个空列表...如何交叉多个IEnumerable?
顺便说一下,blablabla.ToList()是真实和复杂的linq查询。我把这个说得更清楚。
谢谢,这里是代码:
public ActionResult Search(string q)
{
ViewBag.q = q;
String[] strQueries = q.Split(' ');
IEnumerable<SuperObject> selected = new List<SuperObject>();
foreach (string str in strQueries)
{
//Query 1
IEnumerable<SuperObject> Temp1 = blablabla.ToList();
//Query 2
IEnumerable<SuperObject> Temp2 = blablabla2.ToList();
//Query 3
IEnumerable<SuperObject> Temp3 = blablabla3.ToList();
//Query 4
IEnumerable<SuperObject> Temp4 = blablabla4.ToList();
selected = selected.Intersect(Temp1);
selected = selected.Intersect(Temp2);
selected = selected.Intersect(Temp3);
selected = selected.Intersect(Temp4);
}
return View("Search", selected);
}
您是否尝试加入代码并查看每个交集的结果? – 2013-02-27 01:01:27