web-dev-qa-db-ja.com

別のリストから値を含むリストアイテムを除外する

2つのリストがあります。

List<string> excluded = new List<string>() { ".pdf", ".jpg" };
List<string> dataset = new List<string>() {"valid string", "invalid string.pdf", "invalid string2.jpg","valid string 2.xml" };

「除外」リストのキーワードを含む「データセット」リストの値を除外するにはどうすればよいですか?

18
lekso
var results = dataset.Where(i => !excluded.Any(e => i.Contains(e)));
25
MarcinJuraszek

試してください:

var result = from s in dataset
             from e in excluded 
             where !s.Contains(e)
             select e;
6
abatishchev
// Contains four values.
int[] values1 = { 1, 2, 3, 4 };

// Contains three values (1 and 2 also found in values1).
int[] values2 = { 1, 2, 5 };

// Remove all values2 from values1.
var result = values1.Except(values2);

https://www.dotnetperls.com/except

0
var result=dataset.Where(x=>!excluded.Exists(y=>x.Contains(y)));

これは、除外リストが空の場合にも機能します。

0
M_Farahmand