C#简单年薪计算器的编译错误

C#简单年薪计算器的编译错误,c#,C#,我是C#的新手,正在尝试创建我的第一个应用程序。 我有三个错误。前两种说法是txtSalary和Salary不存在。 第三个说它 无法将方法组“ToString”转换为非委托类型“string” 并询问我是否打算调用该方法 以下是我所拥有的: protected void Button1_Click(object sender, EventArgs e) { int salary, AnnualHours, Rate; string txtAnnualHours, txtSa

我是C#的新手,正在尝试创建我的第一个应用程序。 我有三个错误。前两种说法是txtSalary和Salary不存在。 第三个说它

无法将方法组“ToString”转换为非委托类型“string”

并询问我是否打算调用该方法

以下是我所拥有的:

protected void Button1_Click(object sender, EventArgs e)  
{
    int salary, AnnualHours, Rate;
    string txtAnnualHours, txtSalary, txtRate;

    salary = AnnualHours * Rate;
    txtsalary = int.Parse(Salary); 
    txtAnnualHours = salary.ToString; 
    MessageBox.Show(salary); 
}
根据我的书,当你在
AnnualHours
Rate
文本框中输入数字时,单击
按钮1
,这些值将从字符串转换为整数,然后乘以工资。 然后,数字答案转换为字符串并显示在名为
txtSalary
的消息框中

请告诉我哪里错了,因为根据这本书,我没有遗漏任何东西。

正确的代码是

protected void Button1_Click(object sender, EventArgs e)  
{
    int salary, AnnualHours = 0, Rate = 0;
    string txtAnnualHours, txtSalary, txtRate;

    salary = AnnualHours * Rate;
    txtSalary = salary.ToString();
    txtAnnualHours = salary.ToString();
    MessageBox.Show(salary);
}
对于MessageBox的错误,您需要在cs文件的顶部写入此项

using System.Windows.Forms;
嗯,这条线

txtsalary = int.Parse(Salary);
这不仅是不正确的,而且是不必要的。txtsalary是一个字符串,int.Parse返回一个int-这两种类型不兼容。最重要的是,int.Parse需要一个字符串参数,而您正试图传递一个int

据我所知,你需要的只是

txtsalary = Salary.ToString();

您没有为
AnnualHours
Rate
分配值,并且在应该为
Salary
的解析调用中有
Salary
。在其他问题中,您正在尝试在初始化之前使用变量。我们可以知道您的其他文本框的名称吗?同时,
ToString
需要括号,因为它是一种方法:
salary.ToString()
如果您发布的代码与您的书中的代码完全相同,请获取一本新书。您的代码有各种错误。。。对于如何解决这个问题,人们基本上缺乏理解。您声明您有用户输入值以执行计算的文本框,但您的函数实际上从未使用文本框值,而是创建完全空的变量,这些变量不可能计算任何内容。您应该学习更多一些从文本框读取值的示例,并尝试更多地思考函数与程序其他部分的关系。此外,C#区分大小写。
txtSalary
txtanualhours
声明为
string
,而不是
TextBox
。Nikhil,您的输入是最正确的。当我通过给变量赋值来编辑我的代码时,正如您所示,我现在只得到一个错误,即“名称‘MessageBox’在当前上下文中不存在。”作为一个新手,我不知道为什么,因为它看起来是正确的。