다음을 통해 공유


인라인 배열 구조체 크기 제한이 적용됨

이 특성은 InlineArrayAttribute .NET 8에서 단일 필드가 있는 구조체 형식에 주석을 달기 위해 도입되었습니다. 인라인 배열 구조체의 크기 제한은 MiB(1메비바이트)입니다. 그러나 버그로 인해 C#에서 내보낸 기본 레이아웃인 순차 레이아웃이 있는 인라인 배열 구조체에는 제한이 적용되지 않았습니다. 이렇게 변경하면 크기 제한이 적용됩니다.

이전 동작

.NET 8에서는 크기가 0이 아닌 양수인 인라인 배열 구조체를 선언할 수 있습니다. 극단적인 경우 유효 크기는 예측할 수 없습니다. 예를 들어, 크기가 Int32.MaxValue + 1로 선언된 구조체가 결과적으로 래핑어라운드로 인해 크기가 1이 되었습니다.

새 동작

.NET 9부터 1MiB의 크기 제한이 적용됩니다.

도입된 버전

.NET 9 미리 보기 1

파괴적 변경 유형

이 변경 사항은 행동 변화입니다.

변경 이유

이 변경은 크기 제한이 적용되지 않은 구현의 버그를 수정합니다.

제한을 초과하는 매우 큰 인스턴스가 있는 인라인 배열 구조체를 사용하는 코드가 있는 경우 이러한 구조체의 크기를 줄입니다.

영향을 받는 API