从文本框中获取整数

7
我很新手C#,这个问题可能听起来很蠢。我想知道如何从textBox1中获取整数(用户输入),并在if else语句中使用它?
请给一些示例。

你好 Tanya,如果你能够包含你已经编写的代码就太好了 - 目前的回答相当笼统,所以这将使得改进它们成为可能。 - Adam
5个回答

18

您需要将textbox.Text的值解析为int值。您可以使用int.TryParseint.ParseConvert.ToInt32

TextBox.Text属性是string类型。以下是示例代码。

int.TryParse

如果解析成功,则返回true,否则返回false。

int value;

if(int.TryParse(textBox1.Text,out value))
{
//parsing successful 
} 
else
{
//parsing failed. 
}

Convert.ToInt32

如果解析失败,这可能会引发异常。

int value = Convert.ToInt32(textBox1.Text);

int.Parse

int value = int.Parse(textBox1.Text);

之后,您可以在if语句中使用value,例如:

if(value > 0)
{
}
else
{
}

经过一些搜索,我确实找到了你想要表达的内容,但每次都会显示“输入字符串格式不正确”:( - user1580957
@TanyaLertwichaiworawit,你的textBox.Text属性中是什么? - Habib

3

请尝试以下方法:

int i = int.Parse(textbox1.Text);

它说“输入字符串格式不正确”,请帮忙,谢谢。 - user1580957
抱歉回复晚了,尝试使用Int32.TryParse()方法。或者像其他答案中那样将代码放入try-catch块中。 - laszlokiss88

0
    int value = 0;
    if (Int32.TryParse(textbox.Text, out value))
    {
       if (value == 1)
       {
          ... //Do something
       }
       else if (value == 2)
       {
          ... //Do something else
       }
       else
       {
          ... //Do something different again
       }
   }
   else
   {
       ... //Incorrect format...
   }

当用户输入字母时,这将产生一个异常。 - JohnnBlade
我将其更改为Int32.TryParse方法。如果能够将字符串(textbox.Text)解析为整数,则返回true。该值被写入out引用中,因此也在TryParse方法中进行设置... - abc

0

试试这个

string value = myTextBox.Text;
int myNumber = 0;

if(!string.IsNullOrEmpty(value))
{
    int.TryParse(value, out myNumber);
    if(myNumber > 0)
    {
         // do stuff
    }
}

0
我会使用:
        try 
        {
            int myNumber = Int32.Parse(myTextBox.Text);
        }
        catch (FormatException ex)
        {
           //failed, not a valid number in string
            throw;
        }

或者

        int myNumber = 0;
        if (Int32.TryParse(myTextBox.Text, out myNumber))
        { 
            //success do something with myNumber
        }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接