我试图通过使用带有谓词的Linq .Count()
来计算数组中最大值的次数。但是,我不完全明白该怎么做。从阅读MSDN的例子我认为我理解,但显然不是!
这就是我的想法:
string[] test = { "1", "2", "3", "4", "4" };
string max = test.Max();
Label1.Text = test.Count(p => p == max);
但那没用。所以我尝试将 max 更改为一个整数,看看是否可行,但这也不起作用。
答案 0 :(得分:16)
使用Count(predicate)
即可。您只需要将返回值(这是一个整数)转换为字符串。
Label1.Text = test.Count(p => p == max).ToString();
答案 1 :(得分:7)
您可以先使用Where函数进行过滤,然后计算:
Label1.Text = test.Where(p => p == max).Count().ToString();
答案 2 :(得分:2)
int[] test = { 2, 45, 3, 23, 23, 4, 2, 1, 1, 1, 1, 23, 45, 45, 45 };
int count = test.Count(i => i == test.Max());
现在你的计数是你的最终计数。使用int集合更有意义。现在要显示它,你可以在count上调用ToString()。
答案 3 :(得分:0)
尝试类似:
Label1.Text = test.Where(t => t == test.Max()).Count().ToString();