sizeof(C# 참조)

업데이트: 2007년 11월

값 형식에 대한 바이트 단위의 크기를 가져오는 데 사용됩니다. 예를 들어, int 형식의 크기를 다음과 같이 확인할 수 있습니다.

int intSize = sizeof(int);

설명

sizeof 연산자는 값 형식에만 적용할 수 있으며 참조 형식에는 적용할 수 없습니다.

참고:

C# 버전 2.0 이상부터는 기본 형식에 sizeof를 적용할 때 unsafe 모드를 사용하지 않아도 됩니다.

sizeof 연산자는 오버로드되지 않습니다. sizeof 연산자가 반환하는 값은 int 형식입니다. 다음 표에서는 몇 가지 기본 형식의 크기를 나타내는 상수 값을 보여 줍니다.

결과

sizeof(sbyte)

1

sizeof(byte)

1

sizeof(short)

2

sizeof(ushort)

2

sizeof(int)

4

sizeof(uint)

4

sizeof(long)

8

sizeof(ulong)

8

sizeof(char)

2(유니코드)

sizeof(float)

4

sizeof(double)

8

sizeof(bool)

1

구조체를 포함한 다른 모든 형식의 경우에는 안전하지 않은 코드 블록에서만 sizeof 연산자를 사용할 수 있습니다. Marshal.SizeOf 메서드를 사용할 수 있지만 이 메서드에서 반환되는 값은 sizeof에서 반환되는 값과 다를 수도 있습니다. Marshal.SizeOf는 형식이 마샬링된 후의 크기를 반환하는 반면, sizeof는 패딩을 포함하여 공용 언어 런타임에 할당된 크기를 반환합니다.

예제

class MainClass
{
    // unsafe not required for primitive types
    static void Main()
    {
        Console.WriteLine("The size of short is {0}.", sizeof(short));
        Console.WriteLine("The size of int is {0}.", sizeof(int));
        Console.WriteLine("The size of long is {0}.", sizeof(long));
    }
}
/*
Output:
    The size of short is 2.
    The size of int is 4.
    The size of long is 8.
*/

C# 언어 사양

자세한 내용은 C# 언어 사양의 다음 단원을 참조하십시오.

  • 18.5.8 sizeof 연산자

참고 항목

개념

C# 프로그래밍 가이드

참조

C# 키워드

연산자 키워드(C# 참조)

기타 리소스

C# 참조