C# is not hard to learn if you already know
C++. I am not an expert, but I use C# quite a bit for work, and from what I can tell the big advantage is automated garbage collection.
So I don't spend as much time in C# (if any) thinking about pointers or explicitly freeing memory.
From a career development standpoint, I think some notable posters here have written about the importance of understanding pointers and memory allocation. What I've found is that when you are dealing with problems where complexity / memory issues are not a bottleneck, C# is a much easier sandbox to build in than
C++. However, I don't have an extensive knowledge of the STLs in
C++ and I've seen the opinion that the containers in the STLs provide more flexibility than C#.
C# is often compared to Java in this regard.
The lack of memory bottleneck doesn't necessarily mean the problem or application is simple; the processors on computers have become very powerful and RAM capacity has grown very large, so many things people worried about in coding ten or fifteen years ago can be gotten around with brute force on today's machines.
Bottom line is that C# should not be a problem for you to learn if you know
C++. Is it necessary to learn? I'm not sure, but it is certainly a useful tool and given the similarity to
C++, there's no harm in learning it.