如何将多行文本框中的文本放入一个字符串?

Fus*_*ion 0 c# textbox split newline

我遇到了一些问题.场景是我有一个多行文本框,我想把所有文本放在一个单独的字符串中,没有任何新行.这就是我现在所拥有的:

string[] values = tbxValueList.Text.Split('\n');                
            foreach (string value in values)
            {
                if (value != "" && value != " " && value != null && value != "|")
                {
                    valueList += value;
                }
            }
Run Code Online (Sandbox Code Playgroud)

问题是无论我尝试什么和我做什么,我的字符串总会有一个新行(至少我认为?),所以不要得到:

"valuevaluevalue"

我明白了:

"
价值
价值".

我甚至试图用string.Replace和替换regex.Replace,但是唉也无济于事.请指教.

您诚挚的,
Kevin van Zanten

Dav*_*ale 7

新行必须是"\ r \n".更好 - 使用Environment.NewLine.

但是代码效率低下,你创建了许多不必要的字符串和一个不必要的数组.只需使用:

tbxValueList.Text.Replace(Environment.NewLine, String.Empty);
Run Code Online (Sandbox Code Playgroud)

另一方面,如果你看到自己+=在字符串上使用运算符超过两次,那么你应该使用a StringBuilder.这是因为字符串是不可变的.