C#如何检查数字是否更大?

时间:2018-11-02 23:26:05

标签: c#

我正在为学校的课程设计程序,并且正在设置自动更新。有什么方法可以使“ else if(webClient.DownloadString(“ mylink”)。Contains(“ 0.3.9”))“检查链接的包含项,以查看它是否大于或大于0.3.9?

    public Form1()
    {
        InitializeComponent();
        WebClient webClient = new WebClient();  
        if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\DesktopReborn\\updates\\Update-0.4.0.xml")) { }

        else if (webClient.DownloadString("mylink").Contains("0.3.9"))
        {
            if (MessageBox.Show("An Update is Avaliable, Would you like to download it?", "DesktopReborn Updater", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
            {
                webClient.DownloadFile("myupdate", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\DesktopReborn\\DesktopReborn.exe");

                if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\DesktopReborn\\updates\\Update-0.3.9.xml"))
                {
                    File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\DesktopReborn\\updates\\Update-0.3.9.xml", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\DesktopReborn\\updates\\Update-0.4.0.xml", true);
                    File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\DesktopReborn\\updates\\Update-0.3.9.xml");
                }
            }
        }
    }

3 个答案:

答案 0 :(得分:6)

如果您的格式为xx.xx.xx,则可以将其解析为Version

private static Version _someAribtaryVersion = new Version("2.3.5")

...

var someFunkyNumber = webClient.DownloadString("mylink");

var version = new Version(someFunkyNumber);

if(version > _someAribtaryVersion)
   // Bingo!

其他资源

Version Class

  

代表程序集,操作系统或操作系统的版本号   公共语言运行库。

优点还在于它已经内置了运算符

Version.GreaterThan(Version, Version) Operator

  

确定第一个指定的Version对象是否大于   第二个指定的Version对象。

这意味着您可以将2个版本>=<>=<=

还有一些有用的解析方法

Version.Parse Method

  

将版本号的字符串表示形式转换为   等效的Version对象。

答案 1 :(得分:6)

您可以使用Version类来解析和比较类似的字符串,例如:

string thisVersion = "0.3.9";
string newVersion = "0.4.0";

if (Version.Parse(newVersion) > Version.Parse(thisVersion))
{
    Console.WriteLine($"{newVersion} is greater than {thisVersion}");
}

输出

enter image description here

答案 2 :(得分:3)

.NET Framework带有System.Version类,可让您在版本号之间进行比较。

var newVersion = new Version("0.3.9");
var oldVersion = new Version("0.3.8");

if(oldVersion < newVersion)
{
   //do something..
}