私はlistA
、を持っていlistB
ます。 listA
のサブセットですlistB
。たとえば、 に 1 つの要素が削除され、2 つの要素が追加されlistB
ます。次にlistA
、listB から削除された要素が含まれている場合は、から削除しlistA
ます。また、listA
新しく追加された要素を追加する必要があります。
現在、foreach{ if(list.contains) }
2回使用しています。1 回追加し、1 回削除します。これは O(2n) になりますが、問題ありません。
しかし、主にLINQ/他の方法でO(n)を使用してこれを行う最良の方法はありますか?.
より明確にするために:
実際には、カスタムクラスのリストがあります。上記の質問
で私が形成しているものから(その1つのフィールドを使用して)。Web サービスから取得した文字列のリストです。コード:listA
ListB
//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>
応じて更新しています。私の主な質問は、2 つのループを使用する代わりに、foreach
もっと良いことができないかということです。