читать очень длинный ввод с консоли в С#?

Мне нужно загрузить очень длинную строку из консоли на C#, до 65000 символов. Сам Console.ReadLine имеет ограничение в 254 символа (+2 для управляющих последовательностей), но я могу использовать это:

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 для escape-последовательностей) - к сожалению, мне нужно ввести НАМНОГО большую строку, и когда для READLINE_BUFFER_SIZE установлено значение больше 8192, ошибка "Недостаточно памяти для обработки этой команды" появляется в VS. Буфер должен быть установлен на 65536. Я пробовал несколько решений для этого, но я все еще учусь, и ни одно из них не превышало 1022 или 8190 символов, как я могу увеличить этот предел до 65536? Заранее спасибо.

5
задан Dragoon Aethis 17 March 2012 в 14:41
поделиться