StreamReader的默认值是什么?

时间:2016-07-26 08:17:31

标签: c# default streamreader

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

顺便说一下,我知道我可以在没有StreamReader的情况下使用using。 GC会在不接触流的情况下摆脱它。

4 个答案:

答案 0 :(得分:18)

默认值如下:

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

您可以访问Reference Source

自行查看构造函数和值

答案 1 :(得分:2)

分别为

Encoding.UTF8true1024

来源:the source

Encoding的默认设置为Encoding.UTF8bufferSize的默认设置为1024 documented in the MSDN,但detectEncodingFromByteOrderMarks的默认设置不会显示是。

答案 2 :(得分:1)

您可以检查the reference source以确定这一点。

它揭示了:

  • detectEncodingFromByteOrderMarks为真
  • DefaultBufferSize为1024或4096
  • 编码是Encoding.UTF8
  • leaveOpen为false

就个人而言,我会为桌面应用制作DefaultBufferSize 4096。

答案 3 :(得分:0)

Stream stream你需要通过阅读。 Encoding encoding默认AFAIK为UTF-8int bufferSize最少128个字符。默认情况下,bool leaveOpenfalse,因此在阅读流后会调用Dispose()

Documentation说清楚了。