Só é possível programar em C# se tiver Windows instalado?
De forma alguma. Apesar de o Microsoft Visual Studio ser a ferramenta feita para programar em C#, é possível buscar outras maneiras de utilizar essa linguagem de programação.  O Visual Studio é um delas, já que se você tem Linux ou Mac pode utilizar a ferramenta para desenvolver seus códigos em C#. Outra alternativa é o .NET Core, que segue a mesma lógica do Visual Studio e pode ser usada tanto em Mac como em Linux.