【问题标题】:Print array elements in a label在标签中打印数组元素
【发布时间】:2017-12-22 14:08:31
【问题描述】:

每次单击按钮时,我都会得到“5”的结果。我想遍历一个数组并显示resultLabel 中的所有元素。

protected void okButton_Click(object sender, EventArgs e)
{
    int[] myArray = new int[5] { 1, 2, 3, 4, 5 };
    for (int i = 0; i < myArray.Length; i++)
    {
        resultLabel.Text = String.Join(" ", myArray[i].ToString());
    }
}

【问题讨论】:

    标签: c# arrays .net


    【解决方案1】:

    您不需要循环,只需String.Join 就足够了,它会连接集合的成员

    resultLabel.Text = String.Join(" ", myArray);
    

    【讨论】:

      【解决方案2】:

      您的循环正在迭代列表的每个元素,但在每次迭代中,您正在形成一个仅包含该元素的字符串。

      建议你需要的是:

      resultLabel.Text += " " + myArray[i].ToString();
      

      【讨论】:

        【解决方案3】:

        string.Join 是执行它的最佳选择。或者另一个选项是Aggregate

        resultLabel.Text = myArray.Aggregate("", (a, b) => a + " " + b).Trim();
        

        【讨论】:

          【解决方案4】:

          如果只想在标签中显示数组的内容,为什么还要迭代呢?像这样的东西应该可以工作

          protected void okButton_Click(object sender, EventArgs e)
          {
              int[] myArray = new int[5] { 1, 2, 3, 4, 5 };
              resultLabel.Text = String.Join(" ",myArray);    
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-03-23
            • 1970-01-01
            • 2017-12-25
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多