如何从List <string>获取最大长度记录?

时间:2015-10-19 07:23:26

标签: c# list

我有List包含字符串记录列表。我想获得所有记录中长度最大的记录。 如何从列表中获取最大长度记录?

2 个答案:

答案 0 :(得分:0)

这可能会为你做到这一点

List<string> strings = new List<string>();
strings.Add("001");
strings.Add("00121");
strings.Add("001123123");
strings.Add("00144");


string longest = strings.OrderByDescending(s => s.Length).First();

答案 1 :(得分:0)

如果你想找到所有最长的字符串:

IEnumerable<string> longestStrings = list
    .GroupBy(str => str == null ? 0 : str.Length)
    .OrderByDescending(g => g.Key) // order by length
    .First();

另一种在内存消耗方面可能更便宜的方法:

int maxLength = list.Max(str=> str == null ? 0 : str.Length); 
longestStrings = list
    .Where(str => (str == null ? 0 : str.Length) == maxLength);