Why does Console.Readline() have a limit on the length of text it allows? [duplicate]

被刻印的时光 ゝ 提交于 2019-12-03 11:46:14

A quick look at implementation with .NET Reflector gives this:

public static Stream OpenStandardInput()
{
    return OpenStandardInput(0x100);
}

public static Stream OpenStandardInput(int bufferSize)
{
  ...
}

256 is the default value of OpenStandardInput, so I guess it's by design. Note this is only for .NET as the Windows API does not have this limit.

ColinE

This is a somewhat bizarre limitation on the Console API. I had this problem before and found the following solutions:

Console.SetIn(new StreamReader(Console.OpenStandardInput(8192)));

From the following MSDN forum post:

http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/51ad87c5-92a3-4bb3-8385-bf66a48d6953

See also this related StackOverflow question:

Console.ReadLine() max length?

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!