【问题标题】:How to get MAX using LINQ and string.Split() function如何使用 LINQ 和 string.Split() 函数获取 MAX
【发布时间】:2019-11-12 21:35:09
【问题描述】:

我有一个包含以下 QuestionNumber 值的列表:

"1.9"
"1.10"

以及以下代码:

string value = Questionquery.ToList().Max(q => q.QuestionNumber.Split('.').ElementAt(1));

上面的代码一直返回 9 作为 MAX 值,但是我试图让它返回 10,因为该部分的值大于 9。这甚至可能吗?我正在尝试模仿 Microsoft Word 中的数字系统并进行测试,看看这是否可行。

【问题讨论】:

  • 我建议阅读 Version 课程。

标签: c# asp.net linq


【解决方案1】:

q.QuestionNumber.Split('.').ElementAt(1) 是一个字符串,所以Max() 是比较字符串(按字符),而不是数字。

您需要先将其解析为数字(使用int.Parse()),然后再将其传递给Max()

【讨论】:

  • 不敢相信我错过了!谢谢
猜你喜欢
  • 2020-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多