다음을 통해 공유


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

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

이전 동작

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

새 동작

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

도입된 버전

.NET 9 미리 보기 1

호환성이 손상되는 변경의 형식

이 변경 사항은 동작 변경입니다.

변경 이유

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

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

영향을 받는 API