理论上说,不可能因为你学习一个什么编程语言就被绑定在什么平台上,语言尚不可能绑定,又怎么会因为语言而绑定在某个平台上呢?你也可以学习别的语言嘛。
其次,C#如果不涉及P/Invoke,不涉及UI,仅仅是Console和Service,其实代码的可移植性并不差,话说回来其实没有什么语言的可移植性真的可以做到什么随便瞎写,一次编译到处运行的。
更何况,C#是编译成中间语言的,只要目标平台有运行时,都是可以跑的。
我写的东西,什么Emit都用上了,也从来没在Linux下玩过,别人把我的DLL拿到Linux下去跑(Mono)照样没问题(别人告诉偶的,偶自己还没试)。