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 연산자