关于仿C ++ union的写法
本帖最后由 qqmts 于 2012-12-07 14:39:30 编辑
小弟原本是学习C ++的
而最近开始接触C#
所以遇到一些C ++有的,但是C#不知道如何实现的功能。
如union就是一个例子
在C ++中,我有用到类似像这样的功能
//=================================================
struct 16Bits_Struct
{
union
{
__int16 Data_16;
struct
{
__int16 Data_16_B00:1,
Data_16_B01:1,
Data_16_B02:1,
Data_16_B03:1,
Data_16_B04:1,
Data_16_B05:1,
Data_16_B06:1,
Data_16_B07:1,
Data_16_B08:1,
Data_16_B09:1,
Data_16_B10:1,
Data_16_B11:1,
Data_16_B12:1,
Data_16_B13:1,
Data_16_B14:1,
Data_16_B15:1;
};
};
};
//=================================================
不知道如何在C#底下实现,希望有人可以指导一下阿
------最佳解决方案--------------------using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
[StructLayout(LayoutKind.Explicit)]
struct MyUnion
{
[FieldOffset(0)]
public short Data_16;
public bool Data_16_B00
&n