| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
Blake36Q
10年前发布

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());     }              }