#c_sharp
Использую для консоли следующий код (С#) Console.Write("Код гугл "); string google_map = Console.ReadLine(); Нужно ввести код карты Google, он достаточно длинный и не влазит((( Очень долго искал ответ. Пожалуйста помогите
Ответы
Ответ 1
Это, как оказалось, ограничение консоли. Попробуйте такой метод: var bufsize = 320; Stream stream = Console.OpenStandardInput(bufsize); TextReader inReader = (stream == Stream.Null) ? StreamReader.Null : TextReader.Synchronized( new StreamReader(stream, Console.InputEncoding, false, bufsize, true)); Console.SetIn(inReader); Выставьте размер буфера сколько нужно. Код честно подсмотрен ILSpy'ем в методе Console.In. Реальное ограничение — 254 символа: 256 байт размер буфера, плюс два байта резервируется под CRLF. Аналогично в случае ручной установки bufsize реальный размер будет на два байта меньше. В реальности, сделать буфер меньше, чем 256, у меня не получилось. Если вы захотите правильно обрабатывать символы других языков и выставите Console.InputEncoding = Encoding.Unicode;, не забывайте, что ваш буфер будет расходовать по два байта на символ. Если вы, например, установите размер буфера в 320, то это даст всего лишь 160 юникодных символов (и будет поднято автоматически до 256).
Комментариев нет:
Отправить комментарий