用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C#为什么没有这个关键字呢?怎么实现这个功能?其实C#只是没有了这个关键字,但是功能是能实现的,而且也是非常方便,并且是安全的.网上有人用StructLayout特性来实现union,也确实是实现了一些功能.比如:C/C++: union { unsigned char ch short ; int
ISO 将 C 的类型分为三个不同的集合: 函数.对象和不完全类型三大类.函数类型很明显:对象类型包含其他一切,除非不知道对象的大小.该标准使用术语"对象类型"指定指派的对象必须具有已知大小,注意,除 void 之外的不完全类型也称为对象. 对象类型又分为标量类型和非标量类型.枚举类型.字符型和各种整数的表示形式都被称作标量类型.当在C表达式中使用标量类型的值时,编译器就会自动将这些标识符转换为整数保存.这种机制的作用是,在这些标量类型上执行的操作与整型上执行的操作完全一样.指针类型属