StreamReader的默认值是什么?

Nur*_*mir 9 c# default streamreader

我需要使用此构造函数public StreamReader(Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize, bool leaveOpen)才能设置leaveOpentrue.为了做到这一点,我还需要设置其他参数(Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize).我想按StreamReader原样使用,所以我不想给出一些随机值.这些参数的默认值是什么?

顺便说一下,我知道我可以StreamReader不用using.GC会在不触及流的情况下摆脱它.

Tim*_*äki 20

默认值如下:

  • 编码:Encoding.UTF8
  • detectEncodingFromByteOrderMarks:true
  • DefaultBufferSize:1024

您可以通过访问Reference Source自己查看构造函数和值


Mat*_*son 5

您可以检查参考源来确定这一点。

它揭示了:

  • detectorEncodingFromByteOrderMarks 为 true
  • 默认缓冲区大小为 1024 或 4096
  • 编码为Encoding.UTF8
  • leftOpen 为 false

就我个人而言,我会将桌面应用程序的 DefaultBufferSize 设置为 4096。