Мне нужно загрузить длинную линию veeeery с консоли на C#, до 65000 символов. Сам Console.ReadLine имеет предел 254 символов (+2 для управляющих последовательностей), но я могу использовать это:Как читать очень длинный ввод с консоли в C#?
static string ReadLine()
{
Stream inputStream = Console.OpenStandardInput(READLINE_BUFFER_SIZE);
byte[] bytes = new byte[READLINE_BUFFER_SIZE];
int outputLength = inputStream.Read(bytes, 0, READLINE_BUFFER_SIZE);
Console.WriteLine(outputLength);
char[] chars = Encoding.UTF7.GetChars(bytes, 0, outputLength);
return new string(chars);
}
... преодолеть этот предел, до 8190 символов (+2 для управляющих последовательностей) - к сожалению, мне нужно ввести WAY более крупную линию, и когда для READLINE_BUFFER_SIZE установлено значение больше 8192, в VS появляется сообщение об ошибке «Недостаточно памяти для обработки этой команды». Буфер должен быть установлен на 65536. Я пробовал пару решений, чтобы сделать это, но я все еще учился, и ни один из них не превышал 1022 или 8190 символов, как я могу увеличить этот предел до 65536? Заранее спасибо.
Не можете ли вы сбросить ввод в файл temp и просто передать имя файла в консоли? – digEmAll
Я не могу набрать более 8190 символов, это просто не позволит мне входить больше. Я могу сохранить данные в файл, но мне нужен способ получить огромный вклад. –
Каков ваш сценарий? Я не уверен, что вы пытаетесь решить правильную проблему. – Onkelborg