2016-11-25 22 views
0

の間で2つの異なるリストの比較私はこのようなXElementのリストを得ましたXElementリストには、のCoListに見つからないxのアイテムは含まれていませんか?一覧<XElement>と一覧<String>

For example, if x contains { a, b, c, d} and CoList contains { a, c, d}, how can i return a new x that contains { a, c, d} ?

これを行う簡単な方法はありますか? TKS

+0

です。 CoListには表示されませんが、Xに表示される要素は*除外したいとしました。 Xが '{a、b、c、d}'で、CoListが '{a、c、d}'なら 'b'を除外したいのですか?しかし、あなたのサンプル結果 '{a、b、d}'に 'b'が現れます。 '{a、c、d}'と言ったのですか? –

+0

うん、ブライアンあなたは正しいです! Tksと私は上記の私の例を変更しました。最終出力として{a、c、d}を意味します。 – Trowa

+0

こんにちはブライアン、私はXElementEqualityComparerメソッドに関するコメントを投稿したが、コメントが削除されているのを見た。リストに1000以上のエントリが含まれていると、XElementEqualityComparerメソッドが効率的かどうか疑問です。 Tks – Trowa

答えて

1

私はあなたの例を理解していないあなたは、より洗練された方法で文字列にyと変換することもできますが、これはそれの要旨

var newList = x.Where(y => CoList.Contians(y.ToString())); 
+0

リスト x1 = x.Where(y => CoList.Contains(y.Elements( "column")。ElementAt(0).Value)); しかし、私が得たエラー: 暗黙的に変換できませんに型 'System.Collections.Generic.IEnumerable ' 'System.Collections.Generic.List ' 。明示的な変換が存在します(キャストがありませんか?) これを解決するには? – Trowa

+0

.ToListを追加して解決しました();上記のコードの最後に。 – Trowa

+0

@Trowaは、問題を解決した場合、これを正解とマークすることができます。 – Danny