将逗号分隔的项目从多行文本框移动到列表框

本文关键字:文本 移动 列表 分隔 项目 | 更新日期: 2023-09-27 18:28:10

我有一个多行文本框,它有逗号分隔的值,例如:java、sql、php。我希望在单击添加按钮时将所有文本项移动到列表框中Java语言sqlphp

 StringBuilder bulder = new StringBuilder();
        string[] oldstring = { TextBox1.Text};
        foreach (string str in oldstring)
        {
            bulder.Append(str);
            bulder.Append(",");
        }
        string[] newstring = bulder.ToString().Split(',');
        TextBox1.Text = bulder.ToString().TrimEnd(',');

通过使用这段代码,我得到的值只有java、sql、php,这里哪里错了?

将逗号分隔的项目从多行文本框移动到列表框

您没有正确分割TextBox1.Text:您没有将每一行读取为单独的string。您正在读取整个字符串,然后将其拆分。

你可以更简单地完成你的要求。这是我相信你正在尝试做的事情的一个简单版本,如果需要的话,它甚至可以进一步简化。

private void button1_Click(object sender, EventArgs e)
{
    string[] oldString = TextBox1.Text.Split(
        new string[]{","},
        StringSplitOptions.RemoveEmptyEntries);
    ListBox1.Items.AddRange(oldString);
}

这是一个按钮单击事件,它将文本从TextBox1拆分为,个字符,然后使用Items.AddRange(string[] items)方法将每个项目添加到ListBox1

如果我们想一次手动更新一个列表框,我们可以使用foreach循环。

private void button1_Click(object sender, EventArgs e)
{
    string[] oldString = TextBox1.Text.Split(
        new string[]{","},
        StringSplitOptions.RemoveEmptyEntries);
    foreach (string item in oldString)
    {
        ListBox1.Items.Add(item);
    }
}