c# - 根据文本框错误重新定义变量

我是编码和C#的新手,如果这是一个愚蠢的问题,我们深感抱歉。

我需要根据文本框(用户输入)重新定义变量,但出现错误

int age;
private void Age_TextChanged(object sender, EventArgs e)
   {
       //saves age in years
       age = Age_TextChanged.int;
   }

它在“age = Age_TextChanged.int;”行中出错。在int位上

错误如下

预期的标识符; “int”是一个关键字

首先,这意味着什么,其次,我该如何解决?

最佳答案

首先,错误消息试图指出您要求的内容不存在。作为补充信息,它还指出int是关键字,不适合用作变量名。

如果您在文本框中输入了数字,并且想要该类型的变量中的等价整数,则需要使用Int32.TryParse()尝试将该String转换为Int32

采纳我的建议:更好地命名控件和变量。随着您的进步,它将使您的工作变得更加轻松。我已经对示例进行了调整:

Int32 iAge;
private void txtAge_TextChanged(Object sender, EventArgs e)
{
    //Saves age in years...
    if (!Int32.TryParse(txtAge.Text, out iAge))
    {
        MessageBox.Show(String.Format("Conversion of '{0}' to Int32 failed!", txtAge.Text), "Bad Data", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    }
    else
    {
        //it parsed into the Int32, so do something with it...
    }
}

https://stackoverflow.com/questions/28706839/

相关文章:

compiler-errors - 由于 glib 错误,无法处理 gobject-introspe

eclipse - 如何修复xtext上的简单错误?

c# - 为什么这种编译方式有所不同?

c# - Unity 在编译有效的 C# 类时遇到问题

haskell - 实例化类时发生编译错误

asp.net - 错误: SignalRRouteExtension.Mapconnection

c# - MVC3网站编译器错误

scala - 使用 Deadbolt 2 : overriding method getSubje

jsf - ServletContext.TEMPDIR无法解析或不是字段

compiler-errors - 在Solaris Sparc 11下强制使用Sun Studio