Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2011, 18:26   #1
alex_triton
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 32
По умолчанию Convert.ToInt32

Добрый день, есть некая функция для переворота строки.
При выполнении вылетает ошибка о неправильном приведении типов.
В дебагере при остановке видно, что работает с цифрами, нет не пробелов, не других знаков.
Цитата:
private int Reverse(int final_1)
{
final_1 = 21;
string s = final_1.ToString();
char[] arr = s.ToCharArray();
Array.Reverse(arr);
final_1 = Convert.ToInt32(arr);
return final_1;
}
alex_triton вне форума Ответить с цитированием
Старый 23.10.2011, 20:47   #2
alex_triton
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 32
По умолчанию

Уже 3-ий час не могу найти ошибку
alex_triton вне форума Ответить с цитированием
Старый 23.10.2011, 20:53   #3
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

на каком числе функция валится?
Rififi вне форума Ответить с цитированием
Старый 23.10.2011, 20:55   #4
alex_triton
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 32
По умолчанию

final_1 = Convert.ToInt32(arr);
alex_triton вне форума Ответить с цитированием
Старый 23.10.2011, 20:58   #5
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

final_1 = Convert.ToInt32(arr);

((((((Ж

это и так понятно
ишшо раз: какой аргумент передан в функцию Reverse(), при котором просиходит исключение?
Rififi вне форума Ответить с цитированием
Старый 23.10.2011, 21:35   #6
alex_triton
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 32
По умолчанию

не важно что. я его переопределил как "21" чтобы быть уверенным, что там только цифры
alex_triton вне форума Ответить с цитированием
Старый 23.10.2011, 21:37   #7
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Код:
Convert.ToInt32(new String(arr));
netrino вне форума Ответить с цитированием
Старый 23.10.2011, 21:43   #8
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

alex_triton

Unable to cast object of type 'System.Char[]' to type 'System.IConvertible'.

Уже 3-ий час не могу найти ошибку

отсюда мораль: учи английский, без него ты не программист, а недоразумение ходячее
так и будешь по три часа фтыкающим лузером, пока твои более шустрые коллеги уже отчитываются перед начальством о проделанных успехах :D

private int Reverse(int final_1)
{
final_1 = 21;
string s = final_1.ToString();
char[] arr = s.ToCharArray();
Array.Reverse(arr);
final_1 = Convert.ToInt32(new string(arr));
return final_1;
}
Rififi вне форума Ответить с цитированием
Старый 23.10.2011, 21:55   #9
alex_triton
Пользователь
 
Регистрация: 06.10.2009
Сообщений: 32
По умолчанию

вроде работает. дело не в англ. почему new?
объясните, пожалуйста
alex_triton вне форума Ответить с цитированием
Старый 23.10.2011, 22:02   #10
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

потому что Convert не может конвертить из массива. строка нужна.
Rififi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Convert.ToString D][mon C# (си шарп) 3 03.08.2011 08:38
MultiByteToUTF convert и обратно mrCloud Общие вопросы Delphi 10 30.05.2011 22:28
функции convert, datediff Veroonya БД в Delphi 8 09.02.2009 11:13
*.prn convert > ??? CHer0BuK Помощь студентам 2 19.05.2008 12:14
Convert Voucik Общие вопросы .NET 2 14.04.2008 14:16