我不明白爲什麼我的變量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