获得了.txt文件:
pasaulyje jau nuo XVI a. pradžios. Lorem Ipsu
atsitiktine tvarka išdėliojo raides aaaaaaaaaaaaaa aaaaaaaa aaa
atspaudų prese ir
qqqqqqqqqqqqqqqqqqqqqqqqqqqq
这是我的代码段:
string max = tekstas.Max();
string min = tekstas.Min();
Console.WriteLine(max);
Console.WriteLine(min);
为什么Max()方法给我最后一行(因为它是最短的,实际上不是)和Min()方法给出第二行,这是正确的如果我会问Max方法......所以我做错了什么?
答案 0 :(得分:2)
如果Length
是Min或Max的标准,则可以
var max = tekstas.Max(x => x.Length);
var min = tekstas.Min(x => x.Length);
var maxLengthString = tekstas.Where(x => x.Length == max);
var minLengthString = tekstas.Where(x => x.Length == min);
虽然您可以对其进行一些重构,例如第一次出现,但您需要FirstOrDefault
。
答案 1 :(得分:1)
String上的Min和Max使用字母排序...所以这种行为是预期的。
如果你想获得最大和最小长度,你可以做类似的事情;
string maxLength = tekstas.Select(s => s.Length).Max();
string minLength = tekstas.Select(s => s.Length).Min();
string maxString = tekstas.First(s => s.Length == maxLength);
string minString = tekstas.First(s => s.Length == minLength);
Console.WriteLine(maxString );
Console.WriteLine(minString );