다음을 통해 공유


MemoryStream.SetLength(Int64) 메서드

정의

현재 스트림의 길이를 지정된 값으로 설정합니다.

public:
 override void SetLength(long value);
public override void SetLength (long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)

매개 변수

value
Int64

길이를 설정할 값입니다.

예외

현재 스트림의 크기를 조정할 수 없으며 value가 현재 용량보다 큰 경우

또는

현재 스트림이 쓰기를 지원하지 않는 경우

value가 음수이거나 최대 길이(Int32.MaxValue - origin)인 의 MemoryStream최대 길이보다 크거나 origin 스트림이 시작되는 기본 버퍼의 인덱스입니다.

설명

이 메서드는 SetLength를 재정의합니다.

지정된 값이 스트림의 현재 길이보다 작으면 스트림이 잘립니다. 잘림 후 스트림 내의 현재 위치가 스트림 ReadByte 의 끝을 지나면 메서드는 -1을 반환하고 WriteByte 메서드 Read 는 제공된 바이트 배열에 0바이트를 읽고 Write 메서드는 스트림 끝에 지정된 바이트를 추가하여 길이를 늘입니다. 지정된 값이 현재 용량보다 크고 스트림의 크기를 조정할 수 있는 경우 용량이 증가하고 스트림 내의 현재 위치가 변경되지 않습니다. 길이가 늘어나면 이전 길이와 새 길이 사이의 스트림 내용이 0으로 초기화됩니다.

참고

MemoryStream instance 이 메서드가 작동하려면 쓰기를 지원해야 합니다. CanWrite 현재 instance 쓰기를 지원하는지 여부를 확인하려면 속성을 사용합니다. 자세한 내용은 CanWrite을 참조하십시오.

적용 대상

추가 정보