比较String和Number

时间:2014-10-02 20:49:38

标签: c#

我试图将文本文件的内容与硬编号进行比较但没有成功:

string version = File.ReadAllText("C:\\version.txt");

if (version > 1)
{
   MessageBox.Show("Update Available!");
}

我在这里做错了什么?

2 个答案:

答案 0 :(得分:6)

您无法将字符串与数字进行比较,您必须先解析它。您可以使用int.Parseint.TryParse(检查格式是否有效):

int number;
if(int.TryParse(version, out number) && number > 1)
{
    MessageBox.Show("Update Available!");
}

如果号码也可以1.23,您可以使用double.Parsedecimal.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不兼容,因此您必须将一个转换为另一个才能使您的操作正常工作。