If you want to write an OS kernel or a device driver, C. For anything else, C++. C# puts you at the mercy of what Microsoft thinks is fashionable in language design as the language changes, and you better hope that their toolchain has no bugs as the competition can't compete (yet). Oh, and I presume you already know how to program as these are all pretty shitty choices for a first language--if not, learn Scheme or Python instead.