C# StreamReader的默认值是什么?

C# StreamReader的默认值是什么?,c#,default,streamreader,C#,Default,Streamreader,我需要使用这个构造函数public StreamReader(Stream-Stream,Encoding-Encoding,bool-detectencodingfrom-byteordermarks,int-bufferSize,bool-leaveOpen)将leaveOpen设置为true。为了做到这一点,我还需要设置其他参数(Encoding-Encoding,bool-detectencodingfromteordermarks,int-bufferSize)。我想按原样使用Stre

我需要使用这个构造函数
public StreamReader(Stream-Stream,Encoding-Encoding,bool-detectencodingfrom-byteordermarks,int-bufferSize,bool-leaveOpen)
leaveOpen
设置为
true
。为了做到这一点,我还需要设置其他参数(
Encoding-Encoding,bool-detectencodingfromteordermarks,int-bufferSize
)。我想按原样使用
StreamReader
,因此我不想给出一些随机值。这些参数的默认值是什么


顺便说一句,我知道我可以使用
StreamReader
,而不用
使用
。GC将在不接触流的情况下清除它。

默认值如下:

  • 编码:Encoding.UTF8
  • 从字节顺序标记检测到编码:true
  • DefaultBufferSize:1024

通过分别访问
Encoding.UTF8
true
1024
,您可以查看构造函数和值

来源:

Encoding
的默认值为
Encoding。UTF8
bufferSize
的默认值也是1024,但是
detectEncodingFromByteOrderMarks
的默认值似乎不是。

您可以检查以确定这一点

它表明:

  • detectEncodingFromByteOrderMarks是真的
  • DefaultBufferSize为1024或4096
  • 编码就是编码。UTF8
  • leaveOpen是假的

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

Stream
您需要通过才能读取<代码>编码编码默认AFAIK为
UTF-8
<代码>int bufferSize最小值为128个字符<默认情况下,code>bool leaveOpen为
false
,因此它将在读取流后调用
Dispose()

说得很清楚