我需要使用此构造函数public StreamReader(Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize, bool leaveOpen)
才能将leaveOpen
设置为true
。为了做到这一点,我还需要设置其他参数(Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize
)。我想使用StreamReader
,因此我不想给出一些随机值。这些参数的默认值是什么?
顺便说一下,我知道我可以在没有StreamReader
的情况下使用using
。 GC会在不接触流的情况下摆脱它。
答案 0 :(得分:18)
默认值如下:
您可以访问Reference Source
自行查看构造函数和值答案 1 :(得分:2)
Encoding.UTF8
,true
和1024
。
来源:the source。
Encoding
的默认设置为Encoding.UTF8
,bufferSize
的默认设置为1024 documented in the MSDN,但detectEncodingFromByteOrderMarks
的默认设置不会显示是。
答案 2 :(得分:1)
您可以检查the reference source以确定这一点。
它揭示了:
就个人而言,我会为桌面应用制作DefaultBufferSize 4096。
答案 3 :(得分:0)
Stream stream
你需要通过阅读。 Encoding encoding
默认AFAIK为UTF-8
。 int bufferSize
最少128个字符。默认情况下,bool leaveOpen
为false
,因此在阅读流后会调用Dispose()
Documentation说清楚了。