Por supuesto que si, existe una implementación de .Net para Linux, el proyecto Mono
http://www.mono-project.com/Main_Page, esta disponible para windows, linux, mac posee un compilador c# mcs (completo) uno en Vb mbas (en desarrollo, pero funcional) el runtime, para ejecutar las aplicaciones. en esencia es capaz de compilar y ejecutar aplicaciones y correrlas en todos los sistemas operativos, incluso es capaz de ejecutar aplicaciones compiladas con el compilador microsoft y viseverza.
Hay que tener la precaucuion de cuando programes si no utilizar rutinas propias del sistema operativo, como llamadas a la api de windows o componentes com, si programas 100% codigo .net no hay problemas en la compatibilidad multiplataforma.
el unico pero es las clases propietarias de microsoft como System.Windows.forms. pero ya en las ultimas versiones se encuentra ya implementada, aunque prefieras tal ves diseñar los formularios usando gtk#
Aplicaciones que actualmente usan mono, pues varias:
F-Spot
Tomboy
MonoUML
etc
ah y por cierto en algunas distro de linux como ubuntu ya trae instalado el runtime en la instalación base