Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > .NET для новичков > Проблема с консольным вводом |
Автор: 0null 23.11.2007, 23:38 |
При вводе числа оно воспринимается как char и переводится в соответствующий ASCII-код, который потом и передается вызывающей функции: using System; using System.Collections.Generic; using System.Text; using con = System.Console; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int s = con.Read(); //con.WriteLine(s); int[] m = new int[s]; con.WriteLine(m.Length); con.ReadKey(); } } } В результате вместо массива из 1 элемента получается массив мз 49. Как бы это исправить(т.е. чтобы Console.Read передавала в s само число, а не его код)? |
Автор: 1stain 24.11.2007, 00:08 | ||
|
Автор: 0null 24.11.2007, 23:09 |
Ясно. А все остальные числа,,напр. эл-ты массива, тоже так придется..."трайпарсить"? Все-таки надо переходить на цпп... |
Автор: 1stain 25.11.2007, 00:12 | ||
0null, насколько я понимаю, привычный вам cin >> x; проводит приведение введенной строки к типу переменной x. В System.Console приведение ввода к типу переменной не реализовано, но вам никто не мешает реализовать самому класc для работы с консолью, который будет возвращать уже готовый тип, но опять таки через Parse например так:
насколько я понял, имелся ввиду как раз переход с цпп на шарп? |