Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Приведение типов


Автор: alsergeich 26.3.2007, 12:53
Знаю вопрос дурацкий. Но меня просто клинит, никак не могу из textbox-a вытащить цифры...
Ситуация такая - у меня есть textbox, пользователь вводит туда набор чисел, я этот набор потом использую в своих целях. Задача из textboxa перетащить в массив int
я как делаю 
Код

string [] split=textBox1.Text.Split(new Char[] {',', ' '});

 for(i=0;i<split.Length-1;i++)
   intList[i]=(int)split[i] ;



После этого кидается exeption InvalidCastExeption..
И ничего в голову не приходит, клиника...  smile 
Прошу меня не ругать, а просто ответить

P.S. поискам искал, не помогло.... smile 

Автор: Choose_Life 26.3.2007, 13:05
Попробуйте так:

Код

            string[] split = textBox1.Text.Split(',');

            int[] intList = new int[split.Length - 1]; 
            for (int i = 0; i < split.Length - 1; i++)
                intList[i] = int.Parse(split[i]);


Добавлено через 1 минуту и 34 секунды
Ваш код не работает, т.к. нельзя явно преобразовать string -> int. Может помочь только парсинг

Автор: Voyager 26.3.2007, 14:22
string to int:

intList[i]=Convert.ToInt32(split[i]) ;

Автор: Gelis 26.3.2007, 14:29
Цитата(Choose_Life @  26.3.2007,  13:05 Найти цитируемый пост)
 int.Parse(split[i]);

В .Net 2.0 вместо него чтобы не ловить часто Exception рекомендуется использовать TryParse()
Код

if(int.TryParse(split[i],out intList[i]))


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)