Ваше второе решение потенциально может быть очень неэффективным.
List ParamsList = Request.Params.AllKeys.Where(l => !string.IsNullOrEmpty(l)).ToList();
ParamsList.Any(l => l.Contains("CourseName"));
Выше требуется перебирать всю коллекцию для создания нового списка, а затем перебирать этот новый список до тех пор, пока вы не найдете соответствующий элемент. Ниже должно быть немного лучше:
Request.Params.AllKeys
.Where(l => !string.IsNullOrEmpty(l))
.Any(l => l.Contains("CourseName");
Это отфильтрует все наши нулевые значения, прежде чем оно вызовет Any
. Это также будет означать, что в коллекции есть только одна итерация, и она остановится, как только будет найден курс.