如何通过linq获取字符串数组中的max元素?

moo*_*ara 0 c# linq

考虑我有一个像下面这样的数组:

string[] Files = {"NO. 1", "NO. 2", "NO. 3", "NO. 4", "NO. 5", "NO. 6", "NO. 7"};
Run Code Online (Sandbox Code Playgroud)

我想找到具有最大数量的元素.如何通过C#中的Linq查询来完成此操作?

per*_*ist 5

如果你使用LINQ来对象(而不是数据库)......那么这就行了.

string[] Files = { "NO. 1", "NO. 2", "NO. 3", "NO. 4", "NO. 5", "NO. 6", "NO. 7" };
var max = Files.OrderByDescending(x => int.Parse(x.Replace("NO. ", ""))).First();
Run Code Online (Sandbox Code Playgroud)

如果您的列表与您发布的内容有某些不同,那么确切的字符串操作当然会改变.

您可以使用更优雅的LINQ函数,但这些是我找到的.

  • 您可以用`First()`替换`Take(1).Single()`. (2认同)