C#整数解析/比较
我正在尝试使用上面的代码连接到网页,并下拉应用程序的最新版本号,它做得很好。我的问题出现在尝试将网页上找到的号码与提供的号码进行比较时C#整数解析/比较,c#,visual-studio-2008,C#,Visual Studio 2008,我正在尝试使用上面的代码连接到网页,并下拉应用程序的最新版本号,它做得很好。我的问题出现在尝试将网页上找到的号码与提供的号码进行比较时 appVersion=Assembly.getExecutionGassembly().GetName().Version.ToString()您似乎想检查正在运行的程序的版本是否低于刚刚下载的版本字符串 您可以只进行版本比较,而不是使用整数比较。 从下载的字符串创建版本对象:var downloadedVersion=new Version(versionSt
appVersion=Assembly.getExecutionGassembly().GetName().Version.ToString()代码>您似乎想检查正在运行的程序的版本是否低于刚刚下载的版本字符串
您可以只进行版本比较,而不是使用整数比较。
从下载的字符串创建版本对象:var downloadedVersion=new Version(versionStringDownloadedFromWeb)代码>并将其与assemblys版本进行比较:
HttpWebRequest web;
try
{
web = (HttpWebRequest)HttpWebRequest.Create("website.name");
WebResponse Response = web.GetResponse();
Stream WebStream = Response.GetResponseStream();
StreamReader Reader = new StreamReader(WebStream);
string data = Reader.ReadToEnd();
Reader.Close();
WebStream.Close();
Response.Close();
string[] ver = Regex.Split(data, "version=");
if (int.Parse(ver[1]) == int.Parse(appVersion))
{
tss1.Text = "Status : You currently have the latest version";
}
else
{
tss1.Text ="Status : A new version of app is available.";
System.Diagnostics.Process.Start("website.name");
}
}
catch (Exception ex)
{
tss1.Text = "Status : Update check failed.";
Debug.Write(ex.ToString());
}
if(Assembly.getExecutionGassembly().GetName().Version
您可以这样做,因为版本对象实现了IComparable接口 您似乎想检查正在运行的程序的版本是否低于刚才下载的版本字符串
您可以只进行版本比较,而不是使用整数比较。
从下载的字符串创建版本对象:var downloadedVersion=new Version(versionStringDownloadedFromWeb)代码>并将其与assemblys版本进行比较:
HttpWebRequest web;
try
{
web = (HttpWebRequest)HttpWebRequest.Create("website.name");
WebResponse Response = web.GetResponse();
Stream WebStream = Response.GetResponseStream();
StreamReader Reader = new StreamReader(WebStream);
string data = Reader.ReadToEnd();
Reader.Close();
WebStream.Close();
Response.Close();
string[] ver = Regex.Split(data, "version=");
if (int.Parse(ver[1]) == int.Parse(appVersion))
{
tss1.Text = "Status : You currently have the latest version";
}
else
{
tss1.Text ="Status : A new version of app is available.";
System.Diagnostics.Process.Start("website.name");
}
}
catch (Exception ex)
{
tss1.Text = "Status : Update check failed.";
Debug.Write(ex.ToString());
}
if(Assembly.getExecutionGassembly().GetName().Version
您可以这样做,因为版本对象实现了IComparable接口 Assembly.getExecutionGassembly().GetName().Version.ToString()代码>的格式为“x.y.z.q”,不能作为整数进行分析。试一试
if (Assembly.GetExecutingAssembly().GetName().Version < downloadedVersion)
{
// Your version is outdated!
}
它将以int形式为您提供主要版本号。getExecutionGassembly().GetName().version.ToString()代码>的格式为“x.y.z.q”,不能作为整数进行分析。试一试
if (Assembly.GetExecutingAssembly().GetName().Version < downloadedVersion)
{
// Your version is outdated!
}
它将以int形式给出主要版本号您能否详细说明您得到的结果或问题是什么?而不是Regex.Split(数据,“version=”);为什么不简单地使用data.Substring(“version=“.Length”);您能否详细说明您得到的结果或问题是什么?而不是Regex.Split(data,“version=”);为什么不简单地使用data.Substring(“version=“.Length”);