用C#计算

时间:2012-02-24 14:34:03

标签: c#

大家好我想做的就是因为我做错了,或者我想再考虑一下。我正在尝试创建一个类,在类中我调用了两个私有变量,如num1和num2。然后我创建一个对应于num 1和num 2的公共属性。然后在我创建之后,我需要创建一个名为calculate的公共overriable方法,这将把两个变量一起添加并返回结果。然后我有一个添加按钮,我必须将代码添加到按钮,添加两个数字并将结果输出到消息框。我尝试了几种不同的方式,我仍然没有得到它。 这是代码1:

 public abstract class CalulateValues
{
    protected List<int> values = new List<int>();
    public void AddValue(int value) { values.Add(value); }
    public abstract int Calculate();

}

public class Add : CalulateValues
{
    public override int Calculate()
    {
        return values.Sum(x => x);
    }
}

这是我尝试的代码2:

class CalculateValues
{
    private int _num1;
    private int _num2;


    public int Num1
    {
        get
        {
            return _num1;
        }
        set
        {
            _num1 = value;
        }
    }
    public int Num2
    {
        get
        {
            return _num2;
        }
        set
        {
            _num2 = value;
        }
    }
    public virtual int calculate()
    {
        return _num1 + _num2;

    }
}

现在当我按下按钮时,我尝试了这段代码:

public partial class Form2 : Form
{
    public Form2()
    {
        CalculateValues myAdd = new CalculateValues();
        MulitplyValues Add = new MulitplyValues();
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {

        int total = myAdd.Add(int.Parse(textBox1.Text), int.Parse(textBox2.Text));    
        MessageBox.Show(total.ToString());

    }

我不太确定我做错了也许我没有以正确的方式列出代码。

5 个答案:

答案 0 :(得分:3)

您已将myAdd声明为Form2构造函数中的局部变量。将其声明为全局变量,以便能够从button1_Click()

调用它

除此之外,您是否收到任何错误或异常?其次,你在哪里声明了接受两个参数的Add方法?

答案 1 :(得分:0)

public partial class Form2 : Form
{
    CalculateValues myAdd;
    public Form2()
    {
        InitializeComponent();
        myAdd = new CalculateValues();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        int total = myAdd.Add(int.Parse(textBox1.Text), int.Parse(textBox2.Text));    
        MessageBox.Show(total.ToString());
    }
}

然后首先查看C#教程,然后查看变量范围的详细信息。

答案 2 :(得分:0)

int total = myAdd.Add(int.Parse(textBox1.Text), int.Parse(textBox2.Text));    

myAdd根本没有Add方法。它是AddValue。您应该致电Calculate并检索结果。

将myAdd声明为成员变量,而不是构造函数中的local。

试试看:

myAdd.AddValue(int.Parse(textBox1.Text)
myAdd.AddValue(int.Parse(textBox2.Text);    
int total = myAdd.Calculate();
MessageBox.Show(total.ToString());

代码中存在多个错误。

答案 3 :(得分:0)

你没有方法添加,你应该使用像这样的方法计算

private void button1_Click(object sender, EventArgs e)
{
    int total = myAdd.Add(int.Parse(textBox1.Text), int.Parse(textBox2.Text));    
    MessageBox.Show(total.ToString());
}

答案 4 :(得分:-1)

您需要在构造函数之外声明myAdd变量,即使您只在Form2()构造函数中初始化。

您的CalculateValues课程没有“Add”方法。 相反,你应该像这样调用“Calculate”方法:

public partial class Form2 : Form
{
    public Form2()
    {
        CalculateValues myAdd = new CalculateValues();
        MulitplyValues Add = new MulitplyValues();
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {

        int total = myAdd.Calculate(int.Parse(textBox1.Text), int.Parse(textBox2.Text));    
        MessageBox.Show(total.ToString());

    }