我有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