Possible Duplicate:
C++ union in C#
#define AVEC3(T) union { T v3[3]; struct { T x,y,z; }; }
#define AMAT3x3(T) union { \
T v9[9], m3x3[3][3]; \
struct { T v3x[3], v3y[3], v3z[3]; }; \
struct { AVec3<T> vecx, vecy, vecz; }; \
struct { AVec3<T> right, up, back; }; \
struct { T xx, xy, xz, yx, yy, yz, zx, zy, zz; }; \
I have no idea how to convert the code from above(c++) into c# version. Assume T is double type.