C# is normally compiled to the .NET bytecode (called [CIL or MSIL](
[To see links please register here]
)) and then [JIT](
[To see links please register here]
) ("Just In Time") compiled to native code when the program is actually run. There exist ahead of time compilers for C# like [Mono's AOT](
[To see links please register here]
), so you could possibly compile a C# program through one of those and then disassemble it. The result is likely to be very difficult to follow.
More likely, you may want to look at the bytecodes which are somewhat higher level than a CPU's assembly code, which you can do by using [ILdasm](
[To see links please register here]
) on a compiled `.exe` of a C# program.