C# generates native code just like many other languages. In fact with a few minor tweaks MS has written an OS in C# called Singularity.
That being said, it is also possible to generate a native image (using ngen) to transform CIL into native code for a specific machine. But that approach is the exception more than it is the norm.
That approach is also the norm on iOS for both Obj-C and C#.