Que veut tu dire par apprendre le C#? Tu veux apprendre à utiliser le framework Dot.Net pour ton travail et utiliser le patron architectural du MVVM? Tu peux utiliser Mono avec Visual Studio pour Mac c'est très facile.
Si tes plus jeux video, tu peux aussi faire du Unity en C# pour l'apprendre. C'est gratuit et ça va vite aussi sur Mac.
Par contre je recommande plus d'apprendre à utiliser des outils que d'apprendre des langages tel quel vu que ça sert a rien d'apprendre un langage pure et dure si on ne l'applique pas.