Добавление новых символов в начало и конец каждой строки в текстовом поле - PullRequest
0 голосов
/ 08 октября 2011

У меня есть текстовое поле с включенным многострочным, и я хочу добавить строку в начале и в конце каждая строка, поэтому каждая строка будет изменена на

a + line + b

Теперь я знаю, что это связано с циклом foreach, но не знаю, как его записать.

Ответы [ 4 ]

5 голосов
/ 08 октября 2011

Ну, свойство 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 голос
/ 08 октября 2011

Вы можете использовать замену для всего текста:

text = a + text.Replace(Environment.NewLine, b + Environment.NewLine + a) + b;
0 голосов
/ 22 ноября 2017

Вот что я использую, чтобы добавить символы 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";
                        }
                    }
0 голосов
/ 08 октября 2011

Так как вы упомянули foreach, вот другой способ.

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

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

textBox1.Lines = newLines.ToArray();
...