我正在为学校的课程设计程序,并且正在设置自动更新。有什么方法可以使“ 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");
}
}
}
}
答案 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.GreaterThan(Version, Version) Operator
确定第一个指定的Version对象是否大于 第二个指定的Version对象。
这意味着您可以将2个版本与>
,=
,<
,>=
,<=
还有一些有用的解析方法
将版本号的字符串表示形式转换为 等效的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}");
}
输出
答案 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..
}