Можете ли вы сказать мне, "Великий"> "Отстой" или "Великий" <"Отстой"? </p>
Я думаю, что это зависит от независимого бизнеса. Если бы я был вами, я бы определил перечисление для управления им. как ниже
Enum Sample
{
Great = 1,
Good,
Ok,
Poor,
Sucks
}
Тогда вы можете сравнить это в своем коде.
И, если вам просто нужно сравнить свой список по индексу, попробуйте этот способ.
var data = new List<string>(){ "Great", "Good", "Ok", "Poor", "Sucks" };
var result = data.Select((v, i) => new { Index = i, Value = v });
тогда вы можете дополнить его своей собственной логикой.
UPDATE
Вы можете попробовать этот способ, если вам просто нужно получить строку максимальной длины.
var answers = new string[]{ "Grt", "Grt", "Good", "Poor" };
var result = answers.Aggregate((a, b) => a.Length >= b.Length ? a : b);
Получить наиболее частое значение
var answers = new string[]{ "Grt", "Grt", "Good", "Poor" };
var result = answers.GroupBy(q => q)
.OrderByDescending(gp => gp.Count())
.Select(g => g.Key).FirstOrDefault();
Получить наиболее частое значение для нескольких значений
var answers = new string[] { "Grt", "Grt", "Good", "Good","kk"};
var results = from p in answers
group p by p into g
let max = answers.GroupBy(p => p).Select(p => p.Count()).Max()
where g.Count() == max
select g.Key;