如何在 C# 中比较两个版本?
Posted
技术标签:
【中文标题】如何在 C# 中比较两个版本?【英文标题】:How can I compare two version in C#? 【发布时间】:2021-11-30 04:27:01 【问题描述】:我使用C#
语言来比较两个版本。如何比较两个版本?我使用了下面的代码,但我很困惑它是如何工作的。当我尝试以下代码时:
var tem = "3.10.1".CompareTo("3.9.0"); // returns -1
var tem1 = "4.0.1".CompareTo("3.9.0"); // returns 1
tem 变量也需要 1 个结果。有人可以指导我吗?
【问题讨论】:
您正在进行词汇字符串比较,而不是正确比较两个版本。将它们解析成一个知道如何比较版本信息的类。 对于字符串比较,10 在 2 之前,因为 1 小于 2。将字符串拆分为组件,将这些组件转换为数字,然后比较每个组中的数字。 也许VersionInfo-class 就是你要找的东西int tem = Version.Parse("3.10.1").CompareTo(Version.Parse("3.9.0"));
【参考方案1】:
你应该比较Versions,而不是String
s:
var tem = Version.Parse("3.10.1").CompareTo(Version.Parse("3.9.0"));
var tem1 = Version.Parse("4.0.1").CompareTo(Version.Parse("3.9.0"));
【讨论】:
以上是关于如何在 C# 中比较两个版本?的主要内容,如果未能解决你的问题,请参考以下文章