我有一个启用多行的文本框,并希望在开头和结尾添加一个字符串 每一行,所以每一行都会改为
a + line + b
现在我知道它与foreach循环有关,但不知道如何写出来。
答案 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";
}
}