Удаление первого символа в каждой строке массива из dataTextBox - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть массив из поля dataTextBox (3 строки).И мне нужно удалить первый символ в каждой строке.Я пытаюсь сделать это только с линией линии, но я не могу.Этот код ничего не делает.Как правильно написать код?Спасибо!

var lines = this.dataTextBox.Lines; 
var sLines = Convert.ToString(lines[0]); //Converting first line to "String".
char[] ch = sLines.ToCharArray();        //Converting first line to "CharArray".
char s = sLines[0];                      //I took the first letter from first line.
string x = Convert.ToString(s);     //Converting to "String" the first letter from first line.
string b = x.Replace(x, "");       //Replacing the first letter from first line on "" symbol.
this.dataTextBox.Lines = lines.ToArray();

Ответы [ 3 ]

5 голосов
/ 01 сентября 2011
this.dataTextBox.Lines =
    this.dataTextBox.Lines.Select(x => x.Substring(1)).ToArray();

Это будет проецировать каждую строку на одну и ту же строку без первого символа, а затем преобразовывать все обратно в массив, чтобы его можно было присвоить обратно Lines.

Обратите внимание, что это предполагает всестроки имеют как минимум один символ;он выдаст исключение, если это не так.Вы можете добавить .Where(x => x.Length > 0) перед Select(), если это вызывает беспокойство.

0 голосов
/ 01 сентября 2011
this.dataTextBox.Lines = this.dataTextBox.Lines.Select(s => s.Substring(1)).ToArray();

Кстати ... ваш код что-то делает , но вы назначаете lines на this.dataTextBox.Lines, хотя вы никогда не меняли lines.Изменение только в b ...

0 голосов
/ 01 сентября 2011

Не уверен, что вы имели в виду просто обрезку первого символа или удаление всех вхождений первого символа в каждой строке. Ответ dlev покрывает первый случай, это касается второго:

this.dataTextBox.Lines = 
    this.dataTextBox.Lines.Select(x => x.Replace(x[0], "").ToArray()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...