如何在文本框中显示用逗号分隔的项目数组

本文关键字:分隔 项目 数组 项目数 文本 显示 | 更新日期: 2023-09-27 17:56:56

有没有办法在文本框中用逗号分隔显示字符串数组项。我无法做到正确,经历了大量的试验和错误。

任何帮助或建议将不胜感激。

private void button9_Click(object sender, EventArgs e)
    {
        int lineNum = 1;
        OpenFileDialog openFileDialog1 = new OpenFileDialog();
        openFileDialog1.Filter = "Text Files|*.txt";
        openFileDialog1.Title = "Select a Text file";
        openFileDialog1.FileName = "";
        DialogResult result = openFileDialog1.ShowDialog();
        if (result == DialogResult.OK)
        {
            string file = openFileDialog1.FileName;
            string[] text = System.IO.File.ReadAllLines(file);

            foreach (string line in text)
            {
                if (lineNum <= 30)
                {
                    textBox1.Text = Convert.ToString( text);
                }
                else
                {
                   textBox2.Text = Convert.ToString(text);
                 }
            }
        }
   }

请提出任何建议

如何在文本框中显示用逗号分隔的项目数组

当然,只需使用String.Join

textBox1.Text = string.Join(",", text);

如果要在每个逗号后附加NewLine,请使用:

textBox1.Text = string.Join("," + Environment.NewLine, text);

此外,您不需要使用该foreach循环。

编辑:根据您的评论,您可以使用这样的东西:

textBox1.Text = string.Join("," + Environment.NewLine, text.Take(30));
if(text.Length > 30)
     textBox2.Text = string.Join("," + Environment.NewLine, text.Skip(30));

注意:为了使用LINQ方法(例如 TakeSkip ),您需要System.Linq命名空间包含在项目中。

using System.Linq;

@user2889827 使用代码时,您都会犯此错误:每个新的循环循环,您都会用新字符串替换 hold Textbox1.Text
要更正此问题,您必须将保留文本与新文本连接起来:

...
textbox1.text+=text;
...
textbox2.text+=text;

还将string转换为string这是无用的。
或者,如果您愿意,可以使用@Selman22解决方案,在您的情况下,这是解决问题的最佳解决方案