사용 때마다 :이 있고, 지금까지이 while
루프에 대한 for
상응하는 필요
while (BR.BaseStream.Position < BR.BaseStream.Length) // BR = BinaryReader
{
int BlockLength = BR.ReadInt32();
byte[] Content = BR.ReadBytes(BlockLength);
}
..
:
나는이 코드 작업을 Read 메소드 중 하나 인 BinaryReader는 위치를 증가시키기 때문에 실제로 해당 섹션에는 아무 것도 필요하지 않습니다.
for (long Position = BR.BaseStream.Position; Position < BR.BaseStream.Length; Position = BR.BaseStream.Position)
{
int BlockLength = BR.ReadInt32();
byte[] Content = BR.ReadBytes(BlockLength);
}
업데이트 : 나는 그냥 Position
변수가 이제까지 업데이트 점점되지 않는다는 것을 깨달았다. for 루프의 끝이나 세 번째 섹션에서 업데이트 할 수 있습니다. for 루프의 세 번째 섹션에서 Position
을 업데이트하는 코드를 업데이트했습니다.
왜 그렇게하고 싶습니까? 왜 그 동안보기를 사용하지 않습니까? – Ramesh
숙제 같은 냄새가납니다. – dwerner
@dwerner 최근 과제는 숙제가 아닙니다! 사실 나는 모든 'while'루프를 for 루프로 전송하려고합니다. – Writwick