Чтобы отфильтровать коллекцию в C# с помощью LINQ, вы можете использовать предложение Where, чтобы включить определенные значения и исключить другие. Вот несколько способов добиться этого:
Метод 1. Использование одного предложения Whereс логическими операторами:
var filteredList = collection.Where(item => item.Contains("value") && !item.Contains("exclude"));
Метод 2: использование нескольких предложений Where:
var filteredList = collection.Where(item => item.Contains("value"))
.Where(item => !item.Contains("exclude"));
Метод 3. Использование метода Except:
var excludedItems = collection.Where(item => item.Contains("exclude"));
var filteredList = collection.Except(excludedItems).Where(item => item.Contains("value"));
Метод 4. Использование метода Exceptс настраиваемым компаратором равенства:
var excludedItems = collection.Where(item => item.Contains("exclude"));
var filteredList = collection.Except(excludedItems, StringComparer.OrdinalIgnoreCase)
.Where(item => item.Contains("value"));
Метод 5. Использование предложения Whereс методом Containsи отрицательным условием:
var filteredList = collection.Where(item => item.Contains("value") && !item.Contains("exclude"));