strings.Aggregate(string.Empty, (seed, f) => f.Length > seed.Length ? f : seed);
Совокупный синтаксис читать немного сложнее, чем другие методы, но, строго говоря, он более эффективен, чем другие подходы, которые я вижу здесь, поскольку он не требует сортировки.Просто реализация O (N).
РЕДАКТИРОВАТЬ: Этот подход, как и большинство других здесь, предполагает, что в вашем списке нет нулевых значений, иначе f.Length выдает исключение null ref.Быстрый троичный оператор (f! = Null? F.Length: 0) исправил бы это, если бы он был допустимым для вашего перечислимого.