C# 中創建一個類似C 的union結構
這個c# 代碼片段使用ExplicitLayout attribute 來創建一個類似c 的union
using System.Runtime.InteropServices;
...
[StructLayout(LayoutKind.Explicit)]
internal struct Union
{
[FieldOffset (6)] internal byte byteData;
[FieldOffset (0)] internal string stringText;
[FieldOffset (4)] internal short unionShort;
[FieldOffset (4)] internal byte lowByte;
[FieldOffset (5)] internal byte highByte;
}
public class TestUnion
{
public static void Main( )
{
Union union = new Union ();
union.stringText = "Union";
union.byteData = 0xFF;
union.lowByte = 0x01;
union.highByte = 0x01;
Console.WriteLine (union.unionShort + " = " +
(union.highByte * 256 + union.lowByte).ToString());
}
}
本文由用戶 Blake36Q 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!