我有一個文本框與多啓用,並希望在開始和 結束每一行添加一個字符串添加新的字符到每一行的開頭和結尾,所以每線將改爲在文本框
a + line + b
現在我知道它與一個foreach循環有關,但不知道如何寫出來。
我有一個文本框與多啓用,並希望在開始和 結束每一行添加一個字符串添加新的字符到每一行的開頭和結尾,所以每線將改爲在文本框
a + line + b
現在我知道它與一個foreach循環有關,但不知道如何寫出來。
那麼,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();
既然你提到的foreach,這裏的另一種方式。
var newLines = new List<string>(textBox1.Lines.Length);
foreach (string line in textBox1.Lines)
newLines.Add(a + line + b);
textBox1.Lines = newLines.ToArray();
您可以使用替換整個文本:
text = a + text.Replace(Environment.NewLine, b + Environment.NewLine + a) + b;
而不是Enviroment.NewLine,我可以使用「\ r \ n」嗎? 或者至少,兩者有什麼區別? – SharkRetriever
@SharkRetriever:NewLine屬性是當前系統上使用的字符組合。如果它是Windows系統,則是\ r \ n'。 – Guffa
以下是我使用的字符和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";
}
}
太快了!謝謝,它完美的工作! – SharkRetriever