在文本框中的每行的开头和结尾添加新字符

时间:2011-10-07 20:56:51

标签: c# textbox foreach character

我有一个启用多行的文本框,并希望在开头和结尾添加一个字符串 每一行,所以每一行都会改为

a + line + b

现在我知道它与foreach循环有关,但不知道如何写出来。

4 个答案:

答案 0 :(得分:5)

嗯,Lines属性可能就是你想要的属性。三个选项:

string[] lines = textBox.Lines;
for (int i = 0; i < lines.Length; i++)
{
     lines[i] = a + lines[i] + b;
}
textBox.Lines = lines;

或者:

textBox.Lines = Array.ConvertAll(textBox.Lines, line => a + line + b);

或者:

textBox.Lines = textBox.Lines
                       .Select(line => a + line + b)
                       .ToArray();

答案 1 :(得分:1)

您可以在整个文字上使用替换:

text = a + text.Replace(Environment.NewLine, b + Environment.NewLine + a) + b;

答案 2 :(得分:0)

既然你提到了foreach,这是另一种方式。

var newLines = new List<string>(textBox1.Lines.Length);

foreach (string line in textBox1.Lines)
   newLines.Add(a + line + b);

textBox1.Lines = newLines.ToArray();

答案 3 :(得分:0)

这是我用来将字符a和b添加到包含一堆行的字符串的开头和结尾:

     public string Script;
     string[] lines = Script.Split(new[] { '\r', '\n' });
                    for (int i = 0; i < lines.Length; i++)
                    {
                        lines[i] = a + lines[i] + b;
                        if (!lines[i].Equals("\"\"+"))
                        {
                            Console.WriteLine(lines[i]);
                            Result += lines[i]+"\n";
                        }
                    }