当前上下文中不存在名称“ Count”-如何修复

时间:2019-01-30 03:43:01

标签: c# winforms

因此,我们正在我的课堂上制作一个分数计算器。目的是添加您输入的分数(即40 + 75 + 87 ...等),并计算您添加的分数的数量,然后为您提供平均值。我一直收到错误消息,名称“ Count”不存在,并且实际上也没有将我的分数相加,只是将相同的数字放入其中(如果我输入4而不是5,则不会显示9,而是显示数字5” 。任何人都可以阐明这个问题吗?

   public Form1()
    {
        InitializeComponent();

        int Count = 0;
        decimal Total = 0m;

    }

    private void btnAdd_Click(object sender, EventArgs e)
    {
        decimal Score = Convert.ToDecimal(txtScore.Text);
        decimal Total = Convert.ToDecimal (Score++);

        txtCount.Text = Count + 1;


        txtTotal.Text = Total.ToString();
        txtCount.Text = txtCount.ToString();
        txtAverage.Text = txtAverage.ToString();




    }

预期的输出应该是:如果我输入的分数为“ 4”,则计数应显示为“ 1”。写下另一个分数后,它应显示“ 2”以及两个分数的总和(即输入“ 4”,然后输入“ 5”,则分数总和应显示“ 9”)

1 个答案:

答案 0 :(得分:1)

您需要更改Count变量的范围。您当前的代码是在Count构造函数中创建局部变量TotalForm1()。将其移出但仍位于同一类Form1中,将更改其范围并使其在整个类中均可访问。

int Count = 0;
decimal Total = 0m;

public Form1()
{
    InitializeComponent();
}

编辑:

您的要求看起来很简单。我敢打赌,这就是您想要实现的目标。确保首先遵循上述代码。

private void btnAdd_Click(object sender, EventArgs e)
{
    decimal Score = Convert.ToDecimal(txtScore.Text);

    Total += Score;
    Count++;

    decimal Average = Total/Count;

    txtCount.Text = Count.ToString();
    txtTotal.Text = Total.ToString();
    txtAverage.Text = Average.ToString();
}