我试图将文本文件的内容与硬编号进行比较但没有成功:
string version = File.ReadAllText("C:\\version.txt");
if (version > 1)
{
MessageBox.Show("Update Available!");
}
我在这里做错了什么?
答案 0 :(得分:6)
您无法将字符串与数字进行比较,您必须先解析它。您可以使用int.Parse
或int.TryParse
(检查格式是否有效):
int number;
if(int.TryParse(version, out number) && number > 1)
{
MessageBox.Show("Update Available!");
}
如果号码也可以1.23
,您可以使用double.Parse
或decimal.Parse
。
答案 1 :(得分:3)
你必须解析版本:
if (int.Parse(version) > 1)
{
}
或者另一种方式:
if(version.ToString() > "1")
{
//be careful with this as it compares two numbers using dictionary sort, e.g. "200" is less than "3"
}
C#是一种强类型语言。您无法对不兼容的类型执行操作。 Int和string不兼容,因此您必须将一个转换为另一个才能使您的操作正常工作。