将ListBox行拆分为3个值

本文关键字:3个值 拆分 ListBox | 更新日期: 2023-09-27 17:54:07

我有三个值(Name, Course和Average),它们被分配给3个数组。我必须把它们组合起来,放在一个列表框里。现在,我需要能够选择同一行并将其分解为3个变量。

列表框的输出如下所示:

Lastname, firstname     SEC360    93.5

我试图做一个分割与空间,但这打破了我的姓和名,这需要是一个组合变量与逗号包括(我需要检查它在其中放置的数组)。我也不能做substring,因为我没有一个集合值。什么好主意吗?

编辑:我很抱歉大家。我是一个没有经验的程序员(至少可以说)和新到这个网站。

这是我加载数组的地方:

studentNamesAr[studentCount] = studentNameTxtBox.Text;
courseAr[studentCount] = courseNumTxtBox.Text;
gradesAr[studentCount, 0] = Convert.ToInt32(grade1TxtBox.Text);
gradesAr[studentCount, 1] = Convert.ToInt32(grade2TxtBox.Text);
gradesAr[studentCount, 2] = Convert.ToInt32(grade3TxtBox.Text);
gradesAr[studentCount, 3] = Convert.ToInt32(grade4TxtBox.Text);

这是我加载数组到列表框的地方:

for (int i = 0; i != studentCount; i++)
        {
            studentAvg = ((gradesAr[i, 0] + gradesAr[i, 1] + gradesAr[i, 2] + gradesAr[i, 3]) / 4);
            studentListBox.Items.Add(string.Format("{0, -20} {1, 20} {2, 20:F1}", studentNamesAr[i], courseAr[i], studentAvg));
        }

是的,这是Windows窗体。

数据不会在数组中丢失。当程序运行时,我应该有5个条目。我需要将它们分开,以便当我从列表框中选择一个(删除它)时,我将找到3个数组中的值并删除它们,然后将剩余的数组值向上移动。

将ListBox行拆分为3个值

如果保留列表框中项的顺序,列表框的SelectedIndex应该与原始数组中的索引匹配。因此,一旦你有了这些,你就可以开始移动你的数组了(这是相当乏味的)。

声明一下,有更好的结构可以用来解决这个问题,但是我假设使用数组的规定是家庭作业的一部分。:)

您可以在. tag属性中使用其他分隔符将值分隔。

我建议您将","(注意','后面的空格)替换为其他内容(如";"),然后使用以空格为参数的split方法。

string s = "Lastname, firstname SEC360 93.5";
string[] result = s.Replace(", ", ";").Split(' ');

则可以通过将";"替换为","

来更改结果[0]