C# is very close in syntax to Java. I'm not sure what it inherits from C++, except maybe the using directive and the idea of a difference between signed and unsigned values. Then again, I've never seriously looked at C# more than a couple of tutorials.
I personally find the locations of useful functions in C# less than easy to figure out. I tried helping my friend who was taking C# by using what knowledge I have of Java. It turned out that things were in completely strange places. For example, he was working with regular expressions at the time. Knowing that you could easily use something like someString.matches("[0-9]+[0-9]*") in Java (thanks to the java.lang.String class), I hunted for something near there in C#. However, what I found was nowhere near strings in C#. It turned out that in C#, you had to first create new Regex objects (System.Text.RegularExpressions), which then had a member method "IsMatch" to test a string against the Regex object. Yes, I know, small difference, right? I personally find Convert.ToInt32("49") rather unusual. I prefer the simpler Integer.parseInt("49"). I also dislike the fact that it is pretty much required to include "using System;" at the top of a C# program because everything is derived from System, such as System.Console.WriteLine or System.Convert.ToInt32. I hate to sound like I'm criticising C# (I probably am), but I feel that Java has set things up much better. It isn't without its problems or criticisms, but I do feel that Java is a superior language. Now if only Java apps could run as fast as native code apps...
As for C++ being more difficult than Java, that much is true. With C++, the minimal amount of things are provided to allow you to program efficiently, while also allowing you to reinvent the wheel to suit your purposes. I started with C++ and then moved to Java. Something as simple as Integer.toString(14) in Java needs to be implemented by you (unless you use C++.NET, in which case, you might as well just go the C# way and use someint = 14; someint_string = someint.ToString()

usually via stringstreams. I wonder if C# has anything like Java's java.math.BigInteger class... I work with large numbers a lot, so I find BigInteger very useful...