2

コンストラクターの 1 つを使用FileStreamすると、バッファー サイズをバイト単位で指定できますが、使用する場合は指定File.OpenReadできません。2 番目のケースで使用されるバッファ サイズのデフォルト値は?

4

2 に答える 2

4

4096このコンストラクターからわかるように、次のようになります。

[SecuritySafeCritical]
public FileStream(string path, FileMode mode, FileAccess access, FileShare share)
    : this(path, mode, access, share, 4096,
           FileOptions.None, Path.GetFileName(path), false)
{
}

それが によって呼び出されるコンストラクタOpenReadです:

public static FileStream OpenRead(string path)
{
    return new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
}
于 2013-09-06T12:08:02.657 に答える
4

Telerik JustDecompile を使用してコードを確認すると、4096 B です。

public static FileStream OpenRead(string path)
{
    return new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
}

public FileStream(string path, FileMode mode, FileAccess access, FileShare share) : this(path, mode, access, share, 4096, FileOptions.None, Path.GetFileName(path), false)
{
}
于 2013-09-06T12:09:24.900 に答える