Choose a language based on what you are personally interested in using. especially since this is a single-person project. You could write the whole thing in C++ and be fine. You could also write the whole thing in C#. You could also use something like Corona or Love2D and write the whole thing in Lua.
A common pattern is to write low-level and speed-critical game code in C++, and wrap this up into a higher level API with a scripting language. Lua is a common choice because it has a lightweight runtime and flexible syntax. The reason that an integrated scripting language is more time/effort-efficient is because you don't have to spend the time recompiling your game engine. In fact, you could feasibly load game scripts while the game is still running, constantly tweaking them as they game runs.
C# with Mono has made headway as a scripting language thanks to Unity. C# will generally have faster execution time overall since it's JIT-compiled, but these things always depend on the use case.
Since C#/.NET/Mono is so fast, it's also common for people to just write their whole game in C# using frameworks and libraries like XNA, MonoGame, or OpenTK. You can also use a language that targets .NET IL code and write a lot of game logic in a non-C# language such as IronPython, IronRuby, F#, or Boo. If you go the route of C#/.NET, it's often viewed that a scripting language integration is not necessary. C# on its own is very expressive, and you could always use a more dynamic language like IronPython to write higher level game logic.
You can also consider Java (as your "native" language, it's not very good for embedding). The same principle of targetting the VM from C# (C# vs IronPython vs F#, etc.) works with Java (except you're looking at Scala and Clojure).
C# Advantages
Garbage collection frees you from concern about memory management
The standard library is very very large. Not Java-large, but that's probably a good thing.
Linq makes data processing pain-free.
Lambda expressions standard part of the language
XNA is a very nice framework
C++ Advantages
As fast as you can hope to get.
Explicit control over memory.
A large variety of game libraries are implemented in C++.
The lingua franca of commercial games (good "career language" to get employment as a game programmer)
Explicit control over your memory cannot be overstated.
Lua Advantages
A very flexible language. Although no support for "classes" right out of the box, tables are a rich mechanisms for rolling your own.
Relatively easy to integrate into an existing game engine (compared to say, Python or C#/Mono)
A very small core library and runtime.
Fairly standard, used by a lot of big game companies in addition to UnrealScript and Python.
LuaJIT is supposed to be really really fast.
Other scripting languages in the same vein as Lua
These also see common use as scripting languages.
(Anyone with more experiences with other scripting languages or the ones listed here, please edit.)
They don't release new languages because they're harder to use or don't take into consideration the weaknesses of older languages.
Sorry, but doppelgreener sounds like he is out of touch with reality and possibly a huge C++ fanboy. Only a fool would ignore C++'s weaknesses and C#'s strengths, not to mention the reason newer languages are created rather than simply updating the older ones.
– user50286 Oct 02 '14 at 23:15