我有List包含字符串记录列表。我想获得所有记录中长度最大的记录。 如何从列表中获取最大长度记录?
答案 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);