Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用按钮将3个不同的分数添加到一个文本框中?_C#_Arrays_String - Fatal编程技术网

C# 如何使用按钮将3个不同的分数添加到一个文本框中?

C# 如何使用按钮将3个不同的分数添加到一个文本框中?,c#,arrays,string,C#,Arrays,String,我有一个为分数指定的文本框和另一个为分数指定的文本框。除了这两个文本框外,我还有一个名为AddScore的按钮。分数文本框处理1个分数。每次单击“添加分数”按钮时,它都会向“分数”文本框添加一个新分数。例如,如果我输入33作为第一个分数并单击添加分数按钮,然后输入45并单击添加分数按钮,则分数文本框应显示33,45。我想要3个分数,这3个分数在分数文本框中分别显示为字符串 到目前为止,我唯一的想法就是声明一个数组 private void btnAddScore_Click(object se

我有一个为分数指定的文本框和另一个为分数指定的文本框。除了这两个文本框外,我还有一个名为AddScore的按钮。分数文本框处理1个分数。每次单击“添加分数”按钮时,它都会向“分数”文本框添加一个新分数。例如,如果我输入33作为第一个分数并单击添加分数按钮,然后输入45并单击添加分数按钮,则分数文本框应显示33,45。我想要3个分数,这3个分数在分数文本框中分别显示为字符串

到目前为止,我唯一的想法就是声明一个数组

 private void btnAddScore_Click(object sender, EventArgs e)
        {           
                string name = txtName.Text;
                int score = Convert.ToInt32(txtScore.Text);
                int[] scores = new int[2];                
        }

我将向您推荐这种方法:

    private void btnAddScore_Click(object sender, EventArgs e)
    {           
            string scores = txtName.Text;
            if(!string.IsNullOrEmpty(scores) && scores.Split(',').Count() == 3)
            {
              MessageBox.Show("You can't enter more than three scores");
              return;
            }
            if (string.IsNullOrEmpty(scores))
            {
                scores += txtScore.Text;
            }
            else
            {
                scores += ", " + txtScore.Text;
            }
            txtName.Text = scores;

    }

您可能希望先创建数组,以便在单击按钮时可以使用它。而不是创建一个内部到按钮处理程序

使用数组,您可以将分数数组中的所有分数显示为逗号分隔的字符串:

string newString = string.empty;

foreach(int s in scores)
  {
     int n = 1, slen = scores.length;
     if(n == 1 || n >= slen)
       { separator = ""; }
     else
       { separator = ", ";}
     newString = newString + separator + s.ToString();
     n += 1;
  }
或静态:

private void btnAddScore_Click(object sender, EventArgs e)
    {           
            string name = txtName.Text;
            if(Scores.length <= 3)
            {
              txtScores.Text = txtScores.Text.ToString() + ", " + txtScore.Text.ToString();
            }
    }