Чтобы получить первый объект перечисления с помощью LINQ, используйте .First()
или .FirstOrDefault()
. Если вы хотите весь приведенный выше код в linq, он будет выглядеть следующим образом:
var trimmedEmail = email.Trim();
var result = !values.Any(
v => String.Equals(row.First().ToString(), trimmedEmail , StringComparison.InvariantCultureIgnoreCase));
Редактировать: должно быть any () , а не all ()
Т.е. если все значения в первом столбце равны trimmedEmail, result = true, в противном случае result = false.
Это, вероятно, не поможет с проблемами производительности, поскольку first()
это концептуально эквивалентно row[0]
. Это, однако, полностью зависит от реализации используемого вами IList. Поскольку вы упоминаете Google API, я бы предположил, что это не обычный System.Collections.Generic.List<T>
.
Если ваша проблема заключается в количестве веб-звонков, то я бы предложил опубликовать новый вопрос, который конкретно задает вопрос о том, как уменьшить количество веб-вызовов, включая используемый API и указанные вами c звонки.