我有一些使用C#中的條件製作的列表..因此,如果任何條件是錯誤的列表仍然是空的..但我仍然需要與其他列表相交,以獲得最終的輸出..任何建議如何做到這一點?如何交叉多個列表,如果其中一個將是空的?
1
A
回答
1
Enumerable.Intersect即使一個IEnumerable<T>
爲空,也可以執行此操作。
但是,只要至少有一個空列表,相交結果將始終爲空 - 這是您需要的嗎?
0
如果我理解正確的話,你可以使用Count
財產
List<Object> your_list = new List<Object>();
if(your_list.Count!=0){
// do your stuff
}
else{
//skip
}
1
所以,你把所有的名單後,把它們放到一個數組,那麼你可以做波紋管樣品(假設你有所有字符串列表)
var list1 = new List<string>();
var list2 = new List<string>();
var list3 = new List<string>();
var allLists = new List<string>[] { list1, list2, list3 };
// need to be sure you have >= 1 list(s)
var result = allLists[0];
for (int i = 1; i < allLists.Length; i++)
{
result = result.Intersect(allLists[i]).ToList();
}
// ok, you get the result
+0
我按照馬特所講的那樣與列表本身相交! – Rasika
3
作爲簡單的靜態方法:
static IEnumerable<T> Intersect<T>(params IEnumerable<T>[] lists)
{
return lists.Where(l => l.Any()).Aggregate((l1, l2) => l1.Intersect(l2));
}
你可以像使用它
var list1 = new List<string>() { "abc", "cde" };
var list2 = new List<string>() { "abc", "xyz" };
var list3 = new List<string>();
var arrayOfLists = new List<string>[] {list1, list2, list3};
var paramList= Intersect(list1, list2, list3);
var arrayList = Intersect(listOfLists);
要小心地傳遞一個數組而不是列表,否則T是List返回原始列表。
相關問題
- 1. 如何交叉多個IEnumerable?
- 2. 如何顯示文本,如果其中一個列表視圖是Android碎片中的多個listView中空的
- 3. 如何交叉連接只有一列的多個表,我使用的是oracle?
- 4. MYSQL - 如何獲得多個表的交叉結果
- 5. 如果其中一個項目也是列表,那麼如何在單個列表中創建多個行
- 6. 多列中的交叉表
- 7. 如何將圖表拆分爲多個頁面,如JasperReports Server中的交叉表?
- 8. 加入列,如果其中有一個是空
- 9. 如何從交叉表中刪除空/空列?
- 10. 交叉引用多個表
- 11. 而不是交叉兩個列表如何相交超過兩個?
- 12. 如何兩個陣列的交叉點的結果
- 13. 如果其中一個爲空,Neo4j不尋找多個起點
- 14. 如果 'A' 或L,其中L是一個列表(Python)的
- 15. 如何選擇多列,其中一列是來自多個表的max()
- 16. AngularJS過濾多個值,如果其中至少有一個是空的
- 17. 隱藏錶行,如果其中一列是空的使用CSS
- 18. 如何檢測如果一個類型是一個列表?
- 19. 在另一個交叉表列中訪問交叉表公式字段?
- 20. 如何連接兩個表,其中一個表中的一列是指其他表中的3列?
- 21. 如何在OCaml中交叉兩個列表?
- 22. 如何將多個選擇結果合併到一個表中?
- 23. 如何將一個表連接到多個其他表
- 24. 如果其中一個是空的用戶名或密碼
- 25. 我如何在兩個水平列表之間交叉一列的範圍?
- 26. 交叉多列
- 27. 如何將一個空列表添加到一個元組
- 28. 如何查詢一個對多個表的結果放入列
- 29. 如何將一列中的多個列移動到新的一對多表中?
- 30. 如何與RLIKE兩個表中找出其中一個表可以是空
「......一些使用某些條件的列表......」你能更具體地說明你擁有什麼,想要什麼,嘗試過什麼,什麼不起作用?目前還不清楚。 –
請提供一些您已經嘗試過的代碼示例。這將有助於用戶更清楚地瞭解這個問題。 – Golda
你需要與一個非空的空列表相交?結果將是空的,你知道嗎? – HimBromBeere