C# 从两个文本框中获取文本并将元素添加到数组中

C# 从两个文本框中获取文本并将元素添加到数组中,c#,C#,我想将文本框中的元素添加到数组中,但每次尝试添加名称时,都会引发异常。我想在单击按钮后添加元素 private void Grade_Click(object sender, EventArgs e) { string name; double grade; nametextbox.Text = ""; gradetextbox.Text = "";

我想将文本框中的元素添加到数组中,但每次尝试添加名称时,都会引发异常。我想在单击按钮后添加元素

   private void Grade_Click(object sender, EventArgs e)
        {
            string name;
            double grade;


            nametextbox.Text = "";
            gradetextbox.Text = "";

           for (int i = 0; i < 10; i++)
           {
            grade = Convert.ToDouble(gradetextbox.Text);
            grades[i] += grade;



            name = nametextbox.Text;
            names[i] += name;
        }


    }
private void Grade\u单击(对象发送者,事件参数e)
{
字符串名;
双级;
nametextbox.Text=”“;
gradetextbox.Text=”“;
对于(int i=0;i<10;i++)
{
grade=Convert.ToDouble(gradetextbox.Text);
等级[i]+=等级;
name=nametextbox.Text;
名称[i]+=名称;
}
}
您可以执行以下操作:

gradetextbox.Text = "";
grade = Convert.ToDouble(gradetextbox.Text);
它将
Text
属性设置为空字符串。然后你要这样做:

gradetextbox.Text = "";
grade = Convert.ToDouble(gradetextbox.Text);
它正在尝试将空字符串转换为
double
,这显然不起作用,因此会引发异常

您可能需要的是:

private double[] grades = new double[10]; // 10 grades
private string[] names = new string[10]; // 10 names
private int currentIndex = 0;
private void Grade_Click(object sender, EventArgs e)
{
    if (currentIndex > 10)
    {
        MessageBox.Show("No more enteries allowed");
    }

    string name;
    double grade;

    if (double.TryParse(gradetextbox.Text, out grade))
    {
        grades[currentIndex] += grade;
    }
    else
    {
        MessageBox.Show("Grade enterd is not a valid grade");
        return;// do nothing else
    }

    name = nametextbox.Text;
    names[i] += name;

    // now clear the textboxes so user can enter another value
    nametextbox.Text = "";
    gradetextbox.Text = "";
    currentIndex = currentIndex + 1;
}

很抱歉,它表示索引超出了名称的范围,而grade表示未处理的附加格式,您可以在其中定义
grades[]
你确定
成绩文本框的输入可以转换为双精度吗?不假设用户会输入一个数字,但在我的测试中,每次我都会在成绩框中输入一个数字,索引超出范围的错误怎么办?我将名称硬编码到数组中,用户输入的空格为空。第一部分工作时出现了一个有趣的错误,然后把那些放好