私が持っている場合:
List<String> list1 AND List<String> list2
にないList<String>
アイテムを含むを生成する最良の方法は何ですか?list1
list2
私が持っている場合:
List<String> list1 AND List<String> list2
にないList<String>
アイテムを含むを生成する最良の方法は何ですか?list1
list2
あなたはlinQを使ってそれを行うことができます。
var res = list1.Except(list2);
linQなしでこれを行う
List<string> listExcept = new List<string>();
foreach(string list1Item in list1)
{
if(!list2.Contains(list1Item))
listExcept.Add(list1Item);
}
//here listExcept will contain all the elements present in list1 and not present in list2
本当に .NET 2.0 の BCL と C# 2 の言語機能しか持っていない場合は、拡張メソッドや LINQ などを使用することはできませんHashSet<>
。あなたはおそらくこう言うでしょう:
List<string> resultList = new List<string>();
foreach (string s in list1)
{
if (!list2.Contains(s))
resultList.Add(s);
}
あまりうまく機能しません。それが重要な場合は、最初ににDictionary<,>
基づいて を作成してlist2
ください。