學習曲線 我如何從Java轉移到C#?




python c#比較 (8)

使用銳化將您的Java程序轉換為C#並查看差異。

我很了解Java。 哪些告誡和資源將幫助我盡可能無痛地跨越對方(C#)。


我知道一個好的答案已經被接受了。 不過,我想補充一點...

我發現,學習一門新的語言通常涉及到學習微妙的語法差異......特別是在處理C / C ++ / Java / C#系列語言之間的差異時。

除了一本不錯的參考書以外,我還建議您從O'Reilly那裡獲取一個口袋參考資料,例如C#3 Pocket Reference 。 它不會幫助你的設計模式等,但會提供一個非常快速的參考您正在使用的語言的具體差異。

以下是該網站對本書的簡短介紹:

C#3.0 Pocket Reference包含大量插圖和代碼示例來解釋:

  • C#3.0新增特性,如lambda表達式,匿名類型,自動屬性等
  • C#語法的所有方面,預定義的類型,表達式和操作符
  • 創建類,結構,委託和事件,枚舉,泛型和約束,異常處理和迭代器
  • 裝箱,操作重載,委託協變,擴展方法解析,接口重新實現,可空類型和操作提升的細微之處
  • LINQ,從序列原則開始,延遲執行和標準查詢操作符,並完成對查詢語法的完整引用 - 包括多個生成器,連接,分組和查詢連續
  • 消費,寫作和反思自定義屬性

我使用這本書(和原來的)來幫助我從一個Java變成一個C#開發人員。 在我學習的時候,我總是把它放在桌子上,這真的很有幫助。


語言的語法是相似的,所以我應該只讀一個C#語法的小引用。 就像一本簡單的書(對於有經驗的程序員),或者是維基百科( http://en.wikipedia.org/wiki/Comparison_of_Java_and_C_Sharp )一樣。

最大的區別是圖書館:Asp.Net網站是完全不同的Java servlets。

不要讀太多,只要開始編程!


我相信已經深入了解了這一點。 看到下面的線程。

我不想關閉它,因為它似乎不是一個“確切的”重複,我喜歡Jon對這個問題的回答。


最大的提示:使用單詞go的.NET命名約定 。 通過這種方式,你會不斷被提醒你在使用哪種語言。(聽起來很愚蠢,但是確實有幫助。)盡可能地接受這種語言的習慣用法。

在你的情況下,專門為人們準備了各種書籍 - 在亞馬遜搜索“C#for Java”,你會得到大量的點擊。 這是值得仔細閱讀以確保你不要以為在C#中的事情會和Java一樣。 (例如,在C#中,變量初始值設定項是在基類構造函數體之前執行的;在Java中它們發生在後面,這樣的微妙的事情可能需要一段時間才能學習,如果你正在瀏覽,很容易就會錯過。

如果你打算使用C#3,那麼我會得到一本絕對涵蓋這本書的書--C#3中的所有內容對你來說都是新鮮事物。 免費插件:我自己的書( C#深入 )涵蓋了C#2和3,但是假設你已經知道C#1(換句話說,它本身是不夠的,但是你可能希望它成為“第二”書。)


我在工作中使用C#進行了相當簡單的轉換,但最重要的事情之一就是熟悉.NET API以及C#中的一些強大的技術。

在學習.net庫之後,我比以前更依賴它,所以了解它可以為你做的事情是非常有幫助的。 之後,如果你使用db代碼,學習LINQ,還有技術lambas,匿名類型和委託也是一個有用的選擇。


從Java開發人員的角度看這篇關於C#的文章。 它對雙方都能做的事情有一些了解,以避免最小的開銷。 以您熟悉的語言和您想學習的語言為例,可以使學習曲線變得相當簡單。






java