1

ファイル ストリームに書き込みを行っていますが、ファイルを閉じたいときに、ファイルの場所の値を更新します。そのために、FileStream.Positionファイル サイズが 2 GB の場合、この値は負になります。位置 ?

Folling は私が使用しているコードです。

int SomePosition = 78;
long lastPos = _fileStream.Position;
_fileStream.Position = SomePosition;
byte[] bArray = BitConverter.GetBytes(someValue);
_fileStream.Write(bArray, 0, bArray.Length);
_fileStream.Position = lastPos;

上記のコードでlong lastPos = _fileStream.Position; lastPosは負になります。

4

1 に答える 1

2

int値を変数に格納しようとしていますか?

FileStream.Positionは alongであり、より大きな値int.Maxvalueを an にキャストするとint、負の値になる可能性があります。

于 2013-09-05T08:30:48.683 に答える