私は次のコードを持っています:
List<string> test1 = new List<string> { "@bob.com", "@tom.com" };
List<string> test2 = new List<string> { "joe@bob.com", "test@sam.com" };
@bob.comまたは@tom.comを持つtest2の人を削除する必要があります。
私が試したことはこれです:
bool bContained1 = test1.Contains(test2);
bool bContained2 = test2.Contains(test1);
bContained1 = false
しかしbContained2 = true
。各リストをループするのではなく、Linqクエリを使用してデータを取得したいと思います。bContained1は、以下で作成したLinqクエリの条件と同じです。
List<string> test3 = test1.Where(w => !test2.Contains(w)).ToList();
上記のクエリは完全一致では機能しますが、部分一致では機能しません。
私は他のクエリを見てきましたが、Linqでこれとの密接な比較を見つけることができます。どんなアイデアでも、あなたが私に指摘できるところならどこでも、大きな助けになるでしょう。