我在兩個ArrayList arrayListA和arrayListB中有數據。在C#中檢查兩個ArrayList之間的差異
我想檢查這兩個arrayLists是否有區別。
,所以我做這個代碼:
ArrayList diff = new ArrayList();
foreach (string[] a in arrayListB)
{
if(!arrayListA.Contains(a))
{
diff.Add(a);
}
}
所以在這裏我的問題,當我運行程序。 arrayListB中的所有數據都被添加到ArrayList diff中。它應該只添加僅在arrayListA而不是arrayListB中的數據,是否正確?
出了什麼問題?
這是我運行程序後的結果。 listbox a是arrayListA中的數據,listbox B是arrayListB中的數據,而listbox diff是diff中的數據。
我已經輸入System.Linq。
但我沒有得到我的列表的「Where」屬性。
「where」屬性。我不明白。我需要輸入任何參考來使用它? –
哪裏是擴展方法。簡單地說 - 它適用於一個集合並根據一定的條件進行過濾(給定每個元素的名稱爲'a',只取得滿足'!listB.Any(a.SequenceEqual)'的那個'。Any也是一個擴展方法(它們非常流行,tehe),它返回至少一個元素是否滿足條件(每個元素正在'a.SequenceEqual'中測試)。 – SimpleVar
@QusyaireEzwan哦,要使用它們,你需要添加引用到'System.Linq' - 添加到回答。還添加了回答使用Linq擴展方法的代碼的翻譯,所以你可以完全理解它們是如何工作的以及它們在做什麼 – SimpleVar