Share via


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

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

이전 동작

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

새 동작

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

도입된 버전

.NET 9 미리 보기 1

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

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

변경 이유

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

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

영향을 받는 API