Проблема с String.split - PullRequest
       16

Проблема с String.split

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

Я немного новичок в C #.Проблема при использовании сплита.Я думал, что это вернуло массив строк.Но как только он достигает последней строки ниже, он вылетает и говорит, что я не могу получить к нему доступ.За границами.Несмотря на то, что в расколе он нашел бы несколько «~».Любые решения моей проблемы?

String tempString = " ";

        while ((tempString = streamReader.ReadLine()) != null)
        {
            String [] split = tempString.Split('~');

            typeOfVehicle = split[0];
            manufactuer = split[1];

Большое спасибо

Вопрос решен.

Ответы [ 2 ]

2 голосов
/ 21 сентября 2011

Вы предполагаете, что при разбиении строки у вас будет как минимум 2 элемента. Никогда не предполагай. Всегда проверяйте длину массива, прежде чем пытаться получить доступ к индексу.

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

Просто catch исключение, и вы скоро увидите, что у вас возникла проблема с читаемой строкой.

String[] split = tempString.Split('~');

try
{
    typeOfVehicle = split[0];
    manufactuer = split[1];
}
catch
{
    Console.WriteLine("Oops! It didn't work.");
    Console.WriteLine("The offending string was \"{0}\"", tempString);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...