C# is a secure language, so it is impossible to complete such operations as "putting 4 bytes of memory into I, making it account for 10 bytes, and interpreting it as X".
C, cpp pointer can change type, but c# can't. But c# is very secure (you can't access the overhead memory). . .
C# is dedicated to. Net, and will be compiled into an intermediate language at compile time. . . You can check it yourself.