2010-04-11 71 views
11

我有6年以上的C/C++經驗。明天開始大學作業,我將不得不使用C#。因此,我想列出一些您認爲重要的鏈接/資源或廣泛的教程 - 簡而言之,您認爲值得的一切。C/C++用戶簡介

編碼風格,最佳實踐,...

(我不知道C#的環境中的任何細節,我將使用(IDE,OS,W/E),第一次會議是明天晚上) 。

(我從來沒有編碼前C#)

一兩件事:我想使用Linux(Kubuntu的10.4)工作。非常歡迎有關Linux的IDE /環境/教程建議。

感謝您的幫助!

+7

老實說,我不會太擔心它。你將不得不忘記你對內存管理的大部分了解,但它會很容易找到。 C#並不是特別難學,特別是如果你有編程經驗的話。泛型可能需要一兩次,但即使它們非常簡單。通用集合即將成爲你新的最好的朋友。 – 2010-04-11 18:19:17

+0

很好聽。 :)謝謝 – 2010-04-11 18:26:12

+0

(我從來沒有編碼c#之前) - >真的是一個強有力的聲明。在從嵌入式轉向C#之前,我自己也有同樣的擔憂。那個時候我使用了C#作爲傻瓜書。這本書很簡單。 :D – Hanseh 2010-04-11 18:29:21

回答

1

目前基本上是由我猜C#開發人員,Visual Studio中80%是用c#一個編輯器。

開始下載購買/下載它。你有快速版,這是免費的,供個人使用。這只是一個簡單的IDE,沒有什麼奇特的。 如果你有一些花錢(或可以通過大學),去一個更高級的VS版本,如專業或團隊系統。兩者都包括表單設計者和更先進的功能。

這麼多的IDE。

我想如果你從C++到C#的最大「問題」去會在.NET框架,利用現有的功能,而不是自己做吧。當人們從C++(甚至是boost)升級到.net時,這就是我經常看到的。這個框架非常大,幾乎包含了所有內容,所以每次你發現自己寫了一些輔助。類不是特定於域的,如果類似的東西不存在,則在手冊中查找。可能性是他們在框架中。

最後,學會使用lambda的,你會很享受他們!這是C++自身不支持的唯一有意義的事情。像增加lambda一樣的所有擴展都非常複雜,並且遠不那麼優雅,通常不值得使用它。

+0

我認爲80%太低了。 ':)'我首先看看框架的陳述。 (Lambdas,順便說一句,將成爲C++ 11的一部分。) – sbi 2010-04-11 18:54:12

1

我會用兩本書開始:

  1. 「C#一言以蔽之」,奧賴利(最新版涵蓋了C#4)。
  2. 「框架設計指南:公約,成語和可重複使用.NET庫,第二版模式」,AW

Safari的聯機叢書的一個30天的線索會給直到你決定他們是否可以訪問兩個套件你)。

最初只關注#1。當我學習C#1(而.NET 1.)時,0幾個小時的「C#Essentials」我只需要一些東西來顯示語法和語義,因爲我已經知道如何編程。

+0

你是一個像我這樣的音頻思想家嗯:)「因爲我已經是新的如何編程」。 感謝您的提示。可悲的是這些書很貴。提示是讓他們更便宜(除了圖書館)。 – 2010-04-11 18:31:40

+1

@Ronny:「C#Essentials」,一位知識淵博的同事,這是我從C++到C#的所有經歷(差不多20年)。這應該夠了。請參閱此處:http://books.google.de/books?id=pbzW8VGuqrIC&printsec=frontcover&hl=zh-CN&source=gbs_v2_summary_r&cad=0。 – sbi 2010-04-11 19:01:26

+0

@Ronny:更快速地打字。 – Richard 2010-04-12 07:37:05

0

如果你能寫C++,你可以寫C#用很少的努力。但是C#語言是.NET開發人員的一小部分,這是.NET Framework的經驗,您將在未來的一段時間內錯過。基類庫有一個小的公共核心和幾個幾乎完全不同的工具包(WinForms,ASP.NET,WPF,WSDL + WCF,Workflow Foundation),對於一個非常有經驗的C#開發人員來說,可能幾乎不瞭解這些專業中的幾個。

直到你發現你的任務是什麼,我們將不知道你需要熟悉哪些方面,並且不能給出很多指針。

對於各種本地Windows功能,您可能會發現在pinvoke.net上參考「Alternative Managed API」很有用。

+0

downvote的原因是什麼? – 2010-04-11 19:57:56

+0

我沒有投票下來。上段是全部bla。我不知道,因此我對此沒有任何評論。 – 2010-04-11 22:50:51

+0

重寫了第一段,因爲它並不簡潔。感謝您的反饋。當你知道舊的API時,pinvoke.net是最有用的,無論你是從.NET(P/Invoke)中尋找使用它們的方法,還是尋找替代的規範.NET方法來做事大部分功能。 – 2010-04-12 14:36:02