C++ is a middle-level language. It was developed by Bjarne Stroustrup in 1979. It is just an enhancement to C language and an object-oriented language.
C# is modern and object-oriented language developed by Anders Hejlsberg. It is a part of the .NET framework. It is designed for Common Language Infrastructure (CLI). It is also a popular language.
Both languages are object-oriented languages.
C++ has low level of abstraction while C# has high level of abstraction.
In C++, the program can be coded for any platform while in C#, the program is targeted towards windows operating system.
C++ is good for server-side applications, networking etc. while C# is good for desktop applications, mobile etc.
C++ is faster than C# but the actual performance depends on the code.
C++ allows code to compile if syntax is correct but C# strictly warns to reduce serious errors.
C++ is more light-weight while C# libraries are larger than C++.
Both of them can be used in web and desktop applications but C# is more popular. If you want an application that works directly with computer hardware then you should avoid C# and should use C++. C++ is faster than C# but the actual performance depends on the code.