获取List <string>中的最高可用数量

Sae*_*ani 4 c# linq string list

我有以下字符串 List<string>

vs0,vs1,vs2,vs3,vs4,vs5,... vs(n)

在我的列表中,它们没有排序并且是随机的.我想得到最高的字符串int.然后将该字符串中的数字转换为int var.

这样做的最好和最快的方法是什么?

Yur*_*ich 9

var max = myList.OrderByDescending(v => int.Parse(v.Substring(2))).First();
Run Code Online (Sandbox Code Playgroud)

或者如果你需要最高的int

var max = myList.Select(v => int.Parse(v.Substring(2))).Max();
Run Code Online (Sandbox Code Playgroud)

  • OrderBy总是做一个完整的排序,是O(nlogn); Max是O(n).最短的是`myList.Max(v => int.Parse(v.Substring(2)))` (3认同)
  • 不需要排序和增加复杂性..他只需要遍历列表一次? (2认同)