2011-10-14 37 views
2

我正在考慮自學C#,但我可以找到的所有書籍都是基於官方.NET。我是一個Linux用戶,當然,我的應用程序主要運行在Mono上(儘管xplatform到.NET會很好)。面向.NET上的C#的書會對Mono上的C#有用嗎?C#for .NET和C#for mono有沒有真正的區別?

+1

我鼓勵你閱讀莫諾的常見問題:http://www.mono-project.com/FAQ:_General –

回答

4

除了來自小錯誤&角落的情況是不完全一樣的單聲道遵循相當密切的C#規範和有關C#語言沒有申請任何問題的書。

主要區別在於類庫其中某些部分並不總是以單聲道和其他部分實現,但您不應該使用。

示例是WPF(一種用戶界面庫),不存在於Mono或WinForms(舊的用戶界面庫)中,但在linux下,您應該使用GTK#。

所以,你應該看看你的書究竟講什麼,並選擇功能。一些非常不好的書從如何使用visual studio開始,然後輸入你的第一個WPF hello world,它們顯然是你不想作爲C#linux程序員的東西。

儘管mono項目包含良好的文檔,但查找某些類是否受支持的好方法是瀏覽https://github.com/mono/mono/tree/master/mcs/class上的源代碼,並且如果命名空間不存在或者填充了拋出NotSupportedException的類,那麼您知道不能用它。

如果我會推薦一本書,它會是Mono: A Developer's Notebook它的目標人羣已經編程,並希望學習與單聲道的C#。

2

絕大多數C#/ .Net圖書都適用於其他平臺上的Mono/C#。他們都執行相同的規範。 Mono Develop在其他平臺上也是一個不錯的選擇。

當然,任何特定於平臺的平臺都會有所不同。例如:

  • 微軟*命名空間
  • P/Invoke來的Win32 API
  • COM/COM互操作

下面是關於這一主題的相關線索:

Compatibility of .NET csc and Mono mcs