■ Marshal 클래스의 SizeOf 정적 메소드를 사용해 특정 타입의 크기를 구하는 방법을 보여준다.
▶ DataStruct.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
using System.Runtime.InteropServices; namespace TestProject; /// <summary> /// 데이터 구조체 /// </summary> [StructLayout(LayoutKind.Sequential)] public struct DataStruct { //////////////////////////////////////////////////////////////////////////////////////////////////// Field ////////////////////////////////////////////////////////////////////////////////////////// Public #region Field /// <summary> /// 정수 값 /// </summary> public int IntegerValue; /// <summary> /// 배정도 실수 값 /// </summary> public double DoubleValue; /// <summary> /// 문자 값 /// </summary> public char CharacterValue; #endregion } |
▶ Program.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
using System.Runtime.InteropServices; using System; namespace TestProject; /// <summary> /// 프로그램 /// </summary> class Program { //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Static //////////////////////////////////////////////////////////////////////////////// Private #region 프로그램 시작하기 - Main() /// <summary> /// 프로그램 시작하기 /// </summary> static void Main() { int size = Marshal.SizeOf<DataStruct>(); Console.WriteLine($"DataStruct 크기 : {size} 바이트"); } #endregion } |