Вы можете использовать Linq с простым троичным, чтобы выполнить это:
static void Main(string[] args)
{
List<string> mean = new List<string>() { "dog", "smile", "cat", "bat", "giraffe"};
mean.RemoveAll(item => item.Contains("t"));
mean = mean.Select(item => item.Contains("g") ? item.ToUpper() : item).ToList();
foreach (string s in mean)
{
Console.WriteLine(s);
}
}
Метод Select
возьмет каждый элемент в списке и выполнит с ним операцию. В этом случае мы хотим выполнить операцию, только если элемент содержит «g». Вот где появляется троичный. Если элемент содержит «g», мы возвращаем item.ToUpper()
, а если нет, то просто возвращаем item
. Поскольку выходные данные оператора select являются IEnumerable<string>
, нам нужно вызвать метод ToList()
для него, чтобы присвоить значение обратно mean
.
Выходные данные приведенного выше кода:
DOG
smile
GIRAFFE