是否有LINQ
函数可以实现这个函数,或者必须自己编写如下代码:
static string GetLongestStringInList()
{
string longest = list[0];
foreach (string s in list)
{
if (s.Length > longest.Length)
{
longest = s;
}
}
return longest;
}
8条答案
按热度按时间0wi1tuuw1#
这只需要一次循环迭代:
kupeojn62#
您可以使用以下命令:
list.OrderByDescending(s => s.Length).First();
lndjwyie3#
nbnkbykc4#
你想要的方法通常被称为“MaxBy”,不幸的是它不包含在序列运算符的标准集合中。幸运的是,你自己编写它非常容易。请参阅下面的实现答案:
带子查询的Linq group by
lh80um4z5#
我认为有一种更好的方法可以使用lambda表达式从字符串列表中获取最长的字符串,如下所示。
希望这对寻求答案的人有好处。
l5tcr1uw6#
要获取object/string列表中最长的字符串,请尝试以下操作:
变量
maxString
将包含值"HELLO WORLD"
3b6akqbq7#
最简单的方法是使用
MaxBy
,它从.Net6开始提供:string longestString = list.MaxBy(x => x.Length);
yk9xbfzb8#
添加ThenBy()以保证在存在多个相同长度的字符串时的返回顺序