C# certainly copied a lot from Java and improved in many cases as well as innovated in terms of Lambda support which Java only got in Java8, operator overloading which I wish Java would add, but also mucked up things like Enums. Java's concurrency is also still far superior to C#. So C# has done a decent job at building a better Java in many aspects, but still falls short in many areas - so both are great languages, both have rivalling features that are better than the other.
If I wanted to build a desktop application in Windows, I'd certainly choose C# over Java, anything enterprise that needs to run on servers, I'd still choose Java simply due to the bigger availability of options, it having much better cross-platform support and simply due to maturity.
C# could have done so much better for itself if it had Linux support or cross-platform support from day one, but Steve Balmer proclaimed that Linux is a cancer and effectively limited C#'s scope to Windows servers - now C# will forever be branded as that language that only runs on Windows.
Here's an in depth comparison from somebody who's used both, it's from 2007 though, so somewhat outdated: https://goo.gl/CKGmQP