小编Dra*_*his的帖子

如何在C#中从控制台读取很长的输入?

我需要在C#中从控制台加载veeeery long line,最多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);
}
Run Code Online (Sandbox Code Playgroud)

...克服这个限制,最多8190个字符(转义序列+2) - 不幸的是我需要输入WAY更大的行,当READLINE_BUFFER_SIZE设置为大于8192的任何值时,错误"没有足够的存储空间可供处理这个命令"显示在VS. 缓冲区应该设置为65536.我已经尝试了几个解决方案来做到这一点,但我还在学习并且没有超过1022或8190个字符,我怎么能将该限制增加到65536?提前致谢.

c# console windows-console

5
推荐指数
1
解决办法
4915
查看次数

标签 统计

c# ×1

console ×1

windows-console ×1