将字符串值存储在数组中,然后显示数组值

时间:2018-09-30 13:16:20

标签: c#

我是一名学生,正在研究一个班级项目,使用“存储”按钮将字符串值存储到数组[10]中。然后,“显示”按钮将在列表框中显示数组[10]中的字符串值。如果我们也显示此职位,则表示额外的功劳。

当前,当我单击“存储”按钮时,我确实看到了有关该值已存储的消息。但是,当我单击“显示”按钮时,列表框显示10个“ 0”。每次我做的事情只会使情况变得更糟,所以我不确定自己缺少什么和可以忽略的地方。

我的全局变量

string[] results = new string[10];
string value;

我正在使用for循环在“ ResultLabel”中获取字符串值,以将它们存储在数组中[10],直到所有空格都被占用为止,总共10个值。 “ StoreLabel”显示一条消息,表明已存储该值。

protected void StoreButton_Click(object sender, EventArgs e)
{
    for (int i = 0; i < results.Length; i++)
    {
        results[i] = ResultLabel.Text.ToString();
    }
    StoreLabel.Text = "Results have been stored";
}

然后,我相信我将从结果[10]数组中获取值并将这些值显示在列表框中。

protected void DisplayButton_Click(object sender, EventArgs e)
{
    DisplayListBox.Items.Clear();
    for (int i = 0; i < results.Length; i++)
    {
        DisplayListBox.Items.Add(results[i].ToString());
    }
}

2 个答案:

答案 0 :(得分:0)

您可以将索引附加到字符串。

   private void StoreButton_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < results.Length; i++)
        {
            results[i] = ResultLabel.Text.ToString();
        }
        StoreLabel.Text = "Results have been stored";
    }

    private void DisplayButton_Click(object sender, EventArgs e)
    {
        DisplayListBox.Items.Clear();

        for (int i = 0; i < results.Length; i++)
        {
            DisplayListBox.Items.Add($"{results[i].ToString()} - {i}");
        } 
    }

答案 1 :(得分:0)

我了解您的项目要求您使用数组并将其限制为10个项目。如果让ListBox进行所有艰苦的工作,则可以简化这些要求。我想提供一种将字符串放入ListBox的简便方法,以使您可以调整该策略以满足项目要求。

如果我们告诉ListBox使用列表作为它显示的项目的来源,那么它很容易使用。然后,我们要做的就是将一个项目添加到此列表中,并告诉ListBox刷新其内容。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        listBoxDisplay.DataSource = Values;
    }
    // Here is our list of strings
    BindingList<string> Values = new BindingList<string>();

    private void buttonStore_Click(Object sender, EventArgs e)
    {
        // We look at the value in the textbox and add it to list...
        Values.Add((Values.Count + 1).ToString() + " - " +  textBoxValueToAdd.Text);

        // …and tell the ListBox to update itself from the list
        listBoxDisplay.Refresh();
    }
}

enter image description here