C# 如何从C列表中删除空行?

C# 如何从C列表中删除空行?,c#,C#,我试图用C语言创建一个例程,对添加到多行文本框中的列表进行排序。完成后,可以选择删除所有空行。有人能告诉我怎么做吗?以下是我到目前为止所做的,但当我选择框并单击“排序”时,它根本不起作用: private void button1_Click(object sender, EventArgs e) { char[] delimiterChars = { ',',' ',':','|','\n' }; List<string> sortBox1 = new List&l

我试图用C语言创建一个例程,对添加到多行文本框中的列表进行排序。完成后,可以选择删除所有空行。有人能告诉我怎么做吗?以下是我到目前为止所做的,但当我选择框并单击“排序”时,它根本不起作用:

private void button1_Click(object sender, EventArgs e)
{
    char[] delimiterChars = { ',',' ',':','|','\n' };
    List<string> sortBox1 = new List<string>(textBox2.Text.Split(delimiterChars));

    if (checkBox3.Checked) //REMOVE BLANK LINES FROM LIST
    {
        sortBox1.RemoveAll(item => item == "\r\n");
    }

    textBox3.Text = string.Join("\r\n", sortBox1);
}

如果要拆分“\n”上的字符串,sortBox1将不包含包含\n的字符串。不过,我只想使用:


您忘记对行进行排序:

sortBox1.Sort();
空行不是\r\n,它是换行符。空行是空字符串:

sortBox1.RemoveAll(item => item.Length == 0);
在分割字符串时也可以删除空白行:

private void button1_Click(object sender, EventArgs e) {
    char[] delimiterChars = { ',',' ',':','|','\n' };

    StringSplitOptions options;
    if (checkBox3.Checked) {
        options = StringSplitOptions.RemoveEmptyEntries;
    } else {
        options = StringSplitOptions.None;
    }

    List<string> sortBox1 = new List<string>(textBox2.Text.Split(delimiterChars, options));
    sortBox1.Sort();
    textBox3.Text = string.Join("\r\n", sortBox1);
}
private void button1_Click(object sender, EventArgs e) {
    char[] delimiterChars = { ',',' ',':','|','\n' };

    StringSplitOptions options;
    if (checkBox3.Checked) {
        options = StringSplitOptions.RemoveEmptyEntries;
    } else {
        options = StringSplitOptions.None;
    }

    List<string> sortBox1 = new List<string>(textBox2.Text.Split(delimiterChars, options));
    sortBox1.Sort();
    textBox3.Text = string.Join("\r\n", sortBox1);
}