Microsoft Visual Studio 运行时数组

Microsoft Visual Studio Arrays at Runtime

我的说明是:"Create a form that will display a running total of numbers a user enters." - 为此,我创建了一个带有两个文本框的表单(一个用于数组中的值数量,另一个用于数组中的值),一个按钮来显示它,以及一个标签来显示它。问题是,我的价值观根本没有体现出来。我的代码如下:

(** 注意:我试图让数组显示在我的标签中。txtInput 是输入的值,txtArrayValues 是元素的数量。)

namespace Running_Total
{
    public partial class frmEnter : Form
    {
        public frmEnter()
    {
        InitializeComponent();
    }

    private void btnDisplay_Click(object sender, EventArgs e)
    {
        int intNumber = Convert.ToInt32(txtArrayValues.Text);

        string[] strArray;
        strArray = new string[intNumber];

        int i;
        string j = "";

        for (i = 0; i < intNumber; i++)
        {
            j = Convert.ToString(txtInput.Text);
            strArray[i] += j;
        }

        lblDisplay.Text = strArray + " ";
    }
}

}

之前,当我输入 lblDisplay.Text += j + " "; 时,它出现在标签中,但没有注意代码应该包含的元素数量。 (编辑:这在我的代码中不再有效。)(如标题所示,我正在通过 Microsoft Visual Studio 使用 C#。)

这在很大程度上取决于用户输入数字的方式。

1) 如果他用数字填充文本框一次,然后按下按钮将它们显示在另一个框中,使用字符串数组捕获输入并将其添加到显示它的文本框或标签就足够了.如果他删除输入框中的数字并输入新的数字,您可以重复此步骤

namespace Running_Total
{
    public partial class frmEnter : Form
    {
         // declare your Array here
         string [] array = new string[1000];
         int count = 0;

         public frmEnter()
         {
            InitializeComponent();
         }

         private void btnDisplay_Click(object sender, EventArgs e)
         {
             // save input
             array[count] = inputTextBox.Text;
             count++;

             // display whole input
             string output = "";
             for(int i = 0;i < count; i++)
             {
                 output += array[i];                     
             }
             // write it the texbox
             outputTextBox.Text = output;

         }
}

这是否回答了您的问题,或者您有其他输入模式?

查看您的代码,我意识到您想要重复显示在 txtInput 文本中输入的相同数字,最多显示与在 txtArrayValues.Text 中输入的数字一样多的次数。例如 txtArrayValues。 Text = "5" 和 txtInput.Text="2",您的代码将产生结果 "2,2,2,2,2"。如果那是你想要的,那么下面的代码将实现它。

using System.Linq;
    namespace Running_Total
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void btnDisplay_Click(object sender, EventArgs e)
            {
                int len, num;
                if (int.TryParse(txtArrayValues.Text, out len) &&
int.TryParse(txtInput.Text, out num))
                {
                    lblDisplay.Text = string.Join(",", new string[len].Select(x => txtInput.Text));
                }
            }
        }
    }