如何在c#中解析超过'9'的数字?

时间:2015-08-08 02:44:00

标签: c#

EG。 if(RoomNumber = int.Parse(roomnotextBox.Text)=='11')

我尝试在c#中使用此语句,但它显示我有一个错误,因为它有太多字符。我可以知道如何解决这个问题吗?

4 个答案:

答案 0 :(得分:3)

您似乎在使用字符串来比较整数?

单个字符是单引号' c'字符串文字包含在双引号" my string"。

var myInteger = int.Parse("11");
if (myInteger == 11) 
{
   // True...
}

如果您要比较字符串:

var myString = "11";
if (myString == "11") 
{ 
   // True ...
}

答案 1 :(得分:1)

字符串文字封装在引号中,而不是撇号,因此错误消息包含太多字符。但是,您要将int与字符串进行比较,并将布尔值分配给名为“RoomNumber”的变量...

if (int.Parse(roomnotetextBox.Text) == 11)

答案 2 :(得分:1)

如果您想保护代码免受用户输入的影响,可以尝试使用

int number;
if (int.TryParse(roomnotextBox.Text, out number) && number == 11)
{
   // your code here
}

如果您使用int.Parse且用户输入无数字字符,则会引发FormatException

答案 3 :(得分:0)

if (RoomNumber = int.Parse(roomnotextBox.Text) == 11) { ... }

你会将int与11进行比较。