С# char convert.toint32.... В чем проблема конвертирования?
Делаю игру быки и коровы. Не понимаю откуда проблема. При преобразовании строки или масива чаров, в масиве чисел появляються другие значения. Если 1 = 49, 2 = 50, 3 = 51 и тд. Подскажите в чем может быть проблема.
Ответы (2 шт):
Потому что вы прям в прямом смысле преобразуете char в int. char это символ, а его преобразование в числовой тип данных будет выдавать вам ИНДЕКС СИМВОЛА. char имеет диапазон от 0 до 65535. Это можно понять по тому, что сам тип данных char занимает в памяти 16 бит, соответственно, всего его значения кодируются в 16-битной кодировке. Ваши соответствующие числа это соответствующие индексы этих цифр в таблице ASCII
Для вашего преобразования попробуйте использовать int.Parse или явное преобразование char в int
Используй Int32.Parse()
там есть несколько перегрузок смотри на https://learn.microsoft.com/ru-ru/dotnet/api/system.int32.parse?view=net-7.0
Но т.к. это консольный ввод то нет гарантии что пользователь будет вводить исключительно числа.
Можно использовать TryParse()
