첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170
using System;
using System.Runtime.InteropServices;

/// <summary>
/// 커스텀 구조체
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct CustomStructure
{
    //////////////////////////////////////////////////////////////////////////////////////////////////// Field
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region Field

    /// <summary>
    /// 문자 배열
    /// </summary>
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 100)]
    public char[] CharacterArray;

    /// <summary>
    /// 문자열
    /// </summary>
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 50)]
    public string String;

    #endregion
}

CustomStructure structure = new CustomStructure();

Console.WriteLine(Marshal.SizeOf(structure));

※ fixed 키워드를 사용하면 배열의 크기를 고정할 수 있지만, 프로젝트 속성에서 [안전하지 않은 코드 허용] 항목을 설정해야 하지만

※ MarshalAs키워드를 사용해 고정크기 배열(혹은 고정크기 문자열)을 사용할 수 있다.

728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요