2

コピーのオフセット/長さの代わりにパラメータを使用する理由はありSystem.Buffer.BlockCopyますか?ストリームは一般的にで動作しますが、なぜもかかる過負荷がないのでしょうか?intlonglongBlockCopylong

4

1 に答える 1

4

.NET 4.5より前は、2ギガバイトを超えるオブジェクトはありませんでした。したがって、長さを表すint以上のものを持つ理由はありませんでした。

.NET 4.5でも、配列の長さは2ギガバイトを超えることができますが、2^31を超えるアイテムを含めることはできません。したがって、aの最大サイズはbyte[]2ギガバイトのままです(少しオーバーヘッドを差し引いたもの)。の最大サイズint[]は2^31アイテムまたは約8ギガバイトなどです。gcAllowVeryLargObjectsを参照してください。

于 2013-03-18T21:54:23.517 に答える