-1

我是 C# 新手,我这样做只是为了练习(这不是家庭作业) 好的,所以我需要将文本框文本(称为数字)转换为整数,我尝试过类似的操作:

int number1;
number1 = int.Parse(Numbers.Text);

然后检查是否正确:

label1.Text = number1.ToString();
MessageBox.Show(number1.ToString());

但是整数不包含任何东西。我没有收到任何消息,标签也没有改变。

附加问题:为什么不显示消息框?没有 if 语句也没有切换。

4

4 回答 4

2

当涉及到用户输入和解析时,您可能想尝试Int32.TryParse. if 给你解析的能力,但也有二次反馈让你知道它是否成功。例如:

Int32 parsed;
String input = "3";
if (Int32.TryParse(input, out parsed)){
  // it was successful and `parsed` = 3
} else {
  // `input` most likely had something invalid
}
于 2013-08-18T20:19:24.267 回答
0

这是非常基本的东西,应该可以工作。考虑到 MessageBox 根本没有出现,我想你需要清理你的构建。从解决方案的上下文菜单中选择清理,或者关闭解决方案和 VS,进入项目目录,删除 bin 和 obj 并返回并重建项目。

于 2013-08-18T20:14:57.060 回答
0

我已经验证了您的代码,并且您发布的内容很好。

我假设你的问题是代码没有被运行。确保正在调用该方法。如果您仍然无法修复它,请在表单上添加一个新按钮。双击该按钮,然后将该代码添加到自动创建的方法中。然后通过在运行时单击按钮来测试它。

于 2013-08-18T20:24:35.653 回答
0

这是一个简单的方法

 int i;
 try
 {
    i=Convert.ToInt32(textBox1.Text);
 }
 catch
 {
     //do whatever you want
  }
于 2013-08-18T22:29:36.367 回答