C/C++ is the best language to learn as a first language. It shares concepts and keywords with most other high level languages such as C#, Java, Javascript, etc. Learning it first makes learning those other languages easier, but not necessarily the other way around. C# is simpler for beginners to avoid mistakes, because it wipes your butt for you a lot, but it also encourages, or at least fails to discourage, bad programming habits, like the infamous failure to deallocate memory and other resources. It also doesn't really bring anything to the table that I have seen. Admittedly I've only been using it sporadically for a couple years now, and mostly just for writing scripts in Space Engineers. Everything I write professionally is in C++ or assembly.
What framework you use is entirely up to personal taste. Frameworks change more often than the weather, and what is popular today might be deprecated a few years from now. Understand that I'm coming from 35 years of programming. My first game was written in GW-BASIC (Nuclear Bomber) and everything was line art and sprites. When I started serious (non-game) programming, DOOM (the original) and Castle Wolfenstein (the Original) were the epitome of high end game development, raster operations where done by the CPU, most of which didn't even have floating point units, graphics cards were little more than VRAM and a DAC. Over the years I've seen hundreds of frameworks come and go, and even a few languages, but C++ has stuck around. So I'm not basing my suggestion on some entrenched elitism. C++ is here to stay. It has everything a language truly needs and 50+ years of history. You will never regret learning C++ as your first language.
- There is no language called "C/C++". There is C, and there is C++, and if you can't name ten differences between the two off the top of your head, you know neither well enough to recommend languages to anyone.
- Sharing "concepts" and "keywords" is less than meaningless in this context. Python has some keywords that overlap with C++. Intercal has some concepts that overlap with C++. All three are vastly different languages.
- Learning programming and learning C++ is a tall order. Learning programming in a more forgiving environment and then diving into C or C++ is much more gentle. This ground is so well-trodden on GDNet that we have a FAQ about it, linked above.
- The fact that you have to try really hard to even make mistakes like memory leaks in C# is a powerful reason to embrace it; C# - like most modern languages - goes out of its way to make it difficult or even impossible to make certain categories of programming errors. It isn't "wiping your butt" and that language is frankly condescending and borderline offensive.
- C# is actually responsible for popularizing a lot of modern programming concepts: generics without type erasure (c.f. Java), first class functions, concurrent garbage collection, LINQ... the list goes on. Even things that C# did not "invent" it did a lot to drive forward into mass adoption.
- If you haven't done professional or even non-trivial programming in C#, why are you advocating against it? By your own statement you don't know the language well enough to make that value judgment for yourself let alone for an impressionable beginner.
C++ is a roaring dumpster fire of a language that was barely saved from extinction by C++11 and C++14. The existence of better languages is largely what has motivated its slow crawl away from stagnant extinction in the past decade. It hardly has "everything" and yet some would even argue it has far too much.
It also doesn't have "50 years of history" unless you count all of its predecessors (C, BCPL, etc.) and even that's tenuous at best.
It's fine if you like the language, but please keep in mind that your personal taste is not objective truth, and what you like is not necessarily the right thing to recommend to a beginner.
[edit]
Oh, and Wolfenstein 3D was not the "original" Wolfenstein game. That honor goes to, well,
Castle Wolfenstein, originally on the Apple II.