Смотря для каких целей. Сейчас оба языка развиваются и живут.
А еще Java может быть вполне заменена модным языком Kotlin от jetbrains (официально поддерживается Google)
И на том и на другом языке можно писать веб-сайты, сервисы, десктоп приложения, они очень похожи.
Но если, например, говорить о геймдеве, то однозначно стоит выбрать C#, из-за его поддержки движком Unity3d. В случае, если это ваша тема, рекомендую свою статью для начинающих Unity3d программистов.