运行时的Microsoft Visual Studio阵列

时间:2016-04-28 13:12:21

标签: c# arrays visual-studio-2012 displayobject

我的说明是:“创建一个表单,显示用户输入的运行总数。” - 为此,我创建了一个带有两个文本框的表单(一个用于数组中的值数量,另一个用于数组中的值),一个用于显示它的按钮,以及一个用于显示它的标签它。问题是,我的价值观没有出现 - 根本就没有。我的代码如下:

(**注意:我正在尝试让数组显示在我的标签中.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#。)

2 个答案:

答案 0 :(得分:0)

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

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;

         }
}

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

答案 1 :(得分:0)

查看您的代码,我意识到您希望重复显示在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));
                }
            }
        }
    }