2010-08-27 80 views
0

閱讀Bruce Eckel的書「Thinking in C#」,重新學習C#,因爲我很少使用它,但很可能很快就會再次需要它。C#中沒有參數化類型?

我對這個說法感到驚訝:

「在C++中,實現 參數化類型的關鍵字是‘模板’ .NET目前還沒有參數 類型,因爲它有可能爲它 但是, 毫無疑問參數化的 類型將在未來的 版本的.NET Framework中實現。「但是,不管怎樣,使用 單一根目錄的層次結構。

我想我記得在C#有泛型的地方閱讀 - 它類似於C++模板嗎?

我錯了,或者是埃克爾書簡直太落伍了(如果是的話,是否值得還在讀書,還是有更多的最新在線預訂?)

[編輯]

Eeek,我很高興我先在這裏登記。看起來我必須把這本書扔掉(我相信在2002年寫的)。任何人都可以推薦任何可以下載的書,這些書與埃克爾斯的「思考......」系列具有相同的深度?

這裏有很多C#書籍,但其中大多數都太基礎,或者沒有覆蓋足夠的材料。我很高興能夠找到Eckel的書,因爲他以通常的全面風格(從OOP的介紹[我不需要],通過WinForm和Threading)覆蓋C#) - 不幸的是,它看起來像它太舊了(該死的你MS改變C#規格比我吃過晚餐更多次!)

任何人都可以推薦一個好的可下載的C#書,有類似的寬度/深度覆蓋率?

[編輯2]

剛剛看到這本書:

http://www.free-ebooks-download.org/free-ebook/dotnet/CSharp/beginning-visual-csharp-2010.php

我想這本書的任何專業的C#開發人員那裏的意見了......

+0

那本書是什麼時候寫的? – Juliet 2010-08-27 12:51:05

+0

扔垃圾的人,這是一個古董 – tster 2010-08-27 13:17:29

回答

8

它可能描述了C#1.0,​​它沒有泛型。

我建議找一本涵蓋LINQ(C#3中介紹)和動態(C#4)的新書。

2

我肯定會得到最新的書,它與您正在編程的.NET框架的版本相關。我從一本甚至沒有涵蓋自動屬性的舊書開始。現在一年後,我改變了以前的所有代碼,因爲它太臃腫和冗長了。

無論如何,C#確實有泛型,就我所知,它與C++模板相當。

+0

泛型與模板有很大的不同,但它們確實扮演着相似的角色。主要區別在於泛型本身是一種類型,而在C++中,模板在編譯時被擴展爲多種類型。後者允許像運算符這樣的東西進行更靈活的編譯時綁定,但前者爲反射提供了更豐富的類型信息,並且代碼單元(程序集)之間的易於互操作性未被編譯在一起。這和數據結構的錯誤消息沒有< and >符號嵌套深10。 :) – 2010-08-27 15:03:29

+0

@丹謝謝你的澄清! – Dave 2010-08-27 22:26:49

1

泛型使用C#自.NET 2.0開始,它隨Visual Studio 2005一起提供。本書超過5年,您只需要刪除它即可!:)

0

正如其他人所指出的,您的書已過時,或者更確切地說是一個過時的框架版本。

有趣的是,爲了標準化而向ECMA發佈的C#的第一語言規範包括泛型作爲該語言的一部分。 C#1.0和1.1(不包括泛型)不是C#語言的完整實現。 1.0和1.1應該被編號爲0.1和0.2或某些類似,但是微軟並沒有對此類數字進行編號,因爲風險不利的人避免使用測試版產品進行實際工作。