Can I use C# for Unreal Engine 4.9?

Only in a very limited form. You can linked to a managed dll that runs C# code but you won’t be able to use any of the Unreal objects .This might be useful if you wrote something like a terrain generator in C# and wanted to invoke it from C++ and marshal the data back to Unreal.

https://wiki.unrealengine./Linking_Dlls

As others have said the C++ you write for UE4 has a lot of similarities to C#. It has reflection and garbage collection and many other features that let you focus on your game logic rather than the plumbing. It will take a little time to adjust to but not much.

Most of your time will likely be spent getting a grasp on the Unreal Engine Architecture. Once you understand the architecture and various UObjects you’ll find it very easy to write code to manipulate it whether from C++ or blueprints.

http://docs.unrealengine./latest/INT/Programming/index.html

Lastly I’d say don’t be quick to discard blueprints. There are often things that you can iterate on much quicker using blueprints than writing code. Blueprints excel at wiring up event driven game logic that all games need. C++ is great for doing more low-level procedural things. Write base classes in C++ that serve as a foundation for blueprintable instances can be very powerful and efficient in terms of development time.