2010-03-18 5 views

ответ

6

Использовать метод String split.

string[] values = x.Split("\n"); 

И тогда, если вы действительно хотите их в 3-х отдельных переменных ...:

string y1 = values[0]; 
string y2 = values[1]; 
string y3 = values[2]; 

Но я бы предложил оставить его в массиве и обработки оттуда.

+0

Метод Split также принимает второй параметр типа StringSplitOptions. Вы можете использовать StringSplitOptions.RemoveEmptyEntries, чтобы исключить пустые записи из вашего массива (например, если ваша входная строка была чем-то вроде «DR \ nDC \ nDD \ n \ n \ nDE \ n"). – TLiebe

+0

Спасибо, но у меня есть еще одна вещь. Я получаю сообщение об ошибке, когда я посылаю меньше 3 переменных, указывающих, что «Индекс был за пределами массива», потому что, если я отправил somthing как значения «DC \ nRC» [2], это приведет к такой ошибке. Как этого избежать? – DanSogaard

+0

@DanSogaard - это было бы причиной оставить его в массиве, а не хранить его в трех переменных - он оставляет его открытым, чтобы быть любым количеством строк, а не ограничивать его. 3. А что, если у вас будет больше 3? Вы проигнорировали бы прошлое третье. Что вы делаете со значениями y1, y2 и y3? Если это то же самое, просто пройдите через массив. – froadie

4
String.Split('\n') 

, который даст вам массив строк.

2

Использование String.Split так:

var arr = x.Split('\n'); 

string y1 = arr[0]; 
string y2 = arr[1]; 
string y3 = arr[2]; 
2
foreach (string yN in x.Split('\n')) 
{ 
    // do something with yN 
} 

или

string[] yN = x.Split('\n'); 

string y1 = yN[0]; 
string y2 = yN[1]; 
string y3 = yN[2]; 
0

Вы можете найти индекс '\' и синтаксического анализа на основе этого.

Смежные вопросы