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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!