Разделить отдельный элемент в списке <string>? - PullRequest
0 голосов
/ 13 февраля 2012

Я пытаюсь получить доступ к каждому элементу в List<string> list и разделить каждый элемент в списке в моем коде ниже.

for(int i = 0; i < list.Count; i++)
{ 
    string x= list[i].ToString();
    string y= x.Split(':');
}

Но это не работает, показанная причина: «Не удалось неявно преобразовать строку [] в строку». Как это исправить? Когда я сохраню list[i] в строковой переменной, будет ли он рассматриваться как строковый массив вместо строки?

Ответы [ 5 ]

3 голосов
/ 13 февраля 2012

эта строка

string y= x.Split(':');

возвращает строку [], поэтому она возникает

попробуйте это

 string y= x.Split(':')[0];
2 голосов
/ 13 февраля 2012
for(int i = 0; i < list.Count; i++)
{ 
    string x= list[i].ToString();
    foreach(string y in x.Split(':'))
    {
        // do something with y
    }
}
2 голосов
/ 13 февраля 2012

Вы смотрели на подпись String.Split? Тип возвращаемого значения string[], а не string. Следовательно, вы не можете сохранить его возвращаемое значение в переменной string.

2 голосов
/ 13 февраля 2012

Потому что split возвращает массив строк.Должно быть так:

string[] y= x.Split(':');
1 голос
/ 13 февраля 2012

Когда вы вызываете string.Split, он вернет массив строк, которые содержат компоненты строки, разделенные ':'.Вам нужно изменить string y= x.Split(':'); на это:

string[] y= x.Split(':');

См. Документацию для метода

...