No, in general, that's not possible (in any compiled language).
You can decompile binaries for .NET into CIL (Common Intermediate Language), which is an object-oriented assembly language. Various .NET languages (C#, F#, Visual Basic, etc.) are compiled into the bytecode, which is then being executed by the .NET virtual machine rather than by the processor.
Thanks to that the .NET bytecode is platform independent, it can be executed on any platform for which the .NET virtual machine exists without the recompilation.
You can decompile the .NET binaries into CIL using for example these free decompilers:
- ILSpy (standalone or as a Visual Studio extension)
- JetBrains' dotPeek
- Telerik's JustDecompile
dotPeek has a feature to decompile any .NET binary into equivalent C# code, but it's not same as the original C# code.