c# union结构体_C#中的结构体和共用体

C#

中的结构体和共用体

C#

中,

结构体和共用体与

C++

表现上有所不同,他们都用

struct

关键字定义,具体用法为:

1.

结构体,这种定义跟

C++

的结构体相同,

LayoutKind.Sequential

描述为结构体,可以不写

[StructLayout(LayoutKind.Sequential)]

public struct RECT

{

public RECT(int _left,int _top,int _right,int _bottom)

{

Left=_left;

Top=_top;

Right=_right;

Bottom=_bottom;

}

public int Left;

public int Top;

public int Right;

public int Bottom;

}

2.

共用体,共用体同样用

struct

定义,但

LayoutKind.Explicit

描述不能少,另外

FieldOffset

表示对齐

的位置。

[StructLayout(LayoutKind.Explicit)]

public struct Union

{

[FieldOffset(0)]

public int Number;

[FieldOffset(0)]

public char Chr0;

第一个字符

[FieldOffset(2)]

public int Chr2;

第三个字符

}

笔记!

你可能感兴趣的:(c#,union结构体)