c# - 不使用拆分功能比较版本号

标签 c# string compare version versioning

如何比较版本号?

例如:

x = 1.23.56.1487.5

y = 1.24.55.487.2

最佳答案

可以使用Version类吗?
https://learn.microsoft.com/en-us/dotnet/api/system.version

它有一个IComparable 接口(interface)。请注意,这不适用于您所展示的由 5 部分组成的版本字符串(这真的是您的版本字符串吗?)。假设您的输入是字符串,下面是一个包含正常 .NET 4 部分版本字符串的工作示例:

static class Program
{
    static void Main()
    {
        string v1 = "1.23.56.1487";
        string v2 = "1.24.55.487";

        var version1 = new Version(v1);
        var version2 = new Version(v2);

        var result = version1.CompareTo(version2);
        if (result > 0)
            Console.WriteLine("version1 is greater");
        else if (result < 0)
            Console.WriteLine("version2 is greater");
        else
            Console.WriteLine("versions are equal");
        return;

    }
}

关于c# - 不使用拆分功能比较版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7568147/

相关文章:

PHP/MySQL - 查找具有相似或匹配属性的项目

c# - 无法从程序集 'OpenQA.Selenium.Internal.IWrapsElement' 加载类型 'WebDriver, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null'

c# - C#-捕获数据库错误代码以进行处理

c# - 通过代码在 C# Visual Studio 中传递命令行参数

oracle - 将日期类型的当前日期与 Oracle 中的 Varchar 日期列进行比较

c# - 逐字节比较文件还是读取所有字节?

c# - 如何对 Request.Form [""] 进行单元测试?

python - 使用python发送电子邮件: how to form the message?

python - 替换 python 中的精确子字符串

c++ - 规避 C++ 空终止字符串的挫败感