我有listA
,listB
。 listA
是listB
的子集。例如,刪除1個元素並將2個元素添加到listB
。然後,如果listA
包含從listB中刪除的元素,請將其從listA
中刪除。另外,listA
應該添加新添加的元素。更新基於其他列表發生的更新列表
目前我使用foreach{ if(list.contains) }
兩次。一次添加,一次刪除。這將是O(2n),這沒關係。
但是有沒有一種最好的方式來做到這一點主要與LINQ/O(n)/任何其他方式?
更加清晰:
其實我有一個自定義類的列表。
從上面的問題我正在形成listA
(使用一個字段)。 ListB
只是我從web服務獲得的字符串列表。 代碼:
//First foreach loop which I was taking about.
foreach (string A in listA)
{
if (listB.Contains(A)
{
}
else
{
//getting items that are added to listB
}
}
//Second foreach loop which i was taking about.
foreach (string A in listB)
{
if (listA.Contains(A)
{
}
else
{
//getting items that are deleted from listB
}
}
然後我更新是否發生相應List<custom class>
。我的主要問題是不使用兩個foreach
循環,我可以做些更好的事情嗎?
你能發佈一個真實的代碼片段嗎? – LightStriker
已更新的問題與可能的代碼段 – Sai