繁体   English   中英

运行时的 Microsoft Visual Studio 数组

[英]Microsoft Visual Studio Arrays at Runtime

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

(** 注意:我试图让数组显示在我的标签中。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));
                }
            }
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM