C#中的非参数化类型?

时间:2010-08-27 12:48:09

标签: c#

阅读Bruce Eckel的书“用C#思考”,重新学习C#,因为我已经使用了很多年但很快就会再次需要它。

我对这句话感到惊讶:

  

“在C ++中,实现的关键字   参数化类型是“模板”。   .NET目前没有参数化   类型,因为它可能   得到 - 然而笨拙地使用   单根的等级制度。然而,   毫无疑问,参数化   类型将在未来实施   .NET Framework的版本。“

我想我记得在哪里读过C#有泛型 - 这与C ++模板类似?

我错了,或者Eckel的书太过时了(如果是的话,还值得继续阅读还是有更新的在线书?)

[编辑]

是的,我很高兴我先在这里办理了入住手续。看起来我不得不抛弃那本书(我相信2002年写的)。任何人都可以推荐任何可下载的书,其中有与Eckels'Thinking in ...相同的深度...'系列?

那里有很多C#书籍,但大多数都太基础,或者没有足够的材料。我很高兴找到Eckel的书,因为他以通常的彻底风格(从OOP的介绍[我不需要],通过WinForm和线程)覆盖C# - 不幸的是,它看起来太旧了(该死的你是MS的改变C#规格的次数比我吃晚餐的次数多!)

任何人都可以推荐一款具有相似宽度/深度覆盖率的可下载的C#书吗?

[编辑2]

刚看过这本书:

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

我想从任何专业的C#开发人员那里得到本书的意见......

4 个答案:

答案 0 :(得分:8)

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

我建议找一本涵盖LINQ(C#3中介绍)和动态(C#4)的新书。

答案 1 :(得分:2)

我肯定会得到与你正在编程的.NET框架版本相关的最新书。我从一本旧书开始,它甚至没有涵盖自动属性。一年后,我正在改变以前的所有代码,因为它太臃肿而且冗长。

无论如何,C#确实有泛型,据我所知,这些泛型相当于C ++模板。

答案 2 :(得分:1)

Generics是自.NET 2.0以来的C#,随Visual Studio 2005一起提供。这本书超过5年,你肯定需要摆脱它! :)

答案 3 :(得分:0)

正如其他人所说,你的书已经过时,或者说是描述了该框架的过时版本。

值得注意的是,发布到ECMA标准化的C#的第一语言规范包括泛型作为语言的一部分。 C#1.0和1.1,不包括泛型,不是C#语言的完整实现。 1.0和1.1应该已经编号为0.1和0.2或者其他一些,但微软并没有这样的数字,因为风险不利的人避免使用beta产品进行真正的工作。