当前位置:K88软件开发文章中心编程语言.NET.NET01 → 文章内容

C#,自然的进步

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2018-12-31 11:55:20

正确的属性,程序员很容易将任何 C# 类或函数转换为 Web 服务。

C# 不具备的特性

与 Anders Hejlsberg 的经历一致,C# 用来支持因特网应用程序的许多特性是从 Delphi 和 Java 挑选而来的。而 Microsoft 声称 C# 是从 C 和 C++ 转变而来的。因此让我们分析一下 C# 不具备的某些 C++ 特性。

作用域和非关联化操作符:C# 不使用 C++ 作用域操作符 (::);而是依赖于 Delphi 和 Java 中类似的点操作符 (.)。此外,因为它基于前面说明的 Java 和 Delphi 风格的值/引用类型系统,在大多数情况下 C# 不使用 C++ 的非关联化访问符 (->),而是再次实现了点操作符。虽然重载的点操作符可能使刚开始学习 C# 的 C++ 程序员感到迷惑,但这对 Java 和 Delphi 开发人员来说是相当熟悉的。

引用声明语法:因为类、接口和授权类型默认情况下都是引用,所以 C# 没有 C++ 的引用声明语法。这种新语言改为使用类似于 Delphi 声明按引用传递参数的语法:

无标记的参数是输入参数

ref 关键字指定一个输入/输出参数(类似于 Delphi 的 var)

out 关键字指定一个输出参数

params 关键字指定一个变长参数列表(类似于 Delphi 的 variant open-array 参数)

模板:与 Java 和 Delphi 一样,C# 没有模板。因此,C# 没有支持声明类型安全的集合的机制。每个类最终都是从共同的基类 object 导出的。一般集合类必须是一个 object 集合,需要将它的成员不安全地下溯类型转换为所需的类型。

尽管没有 C++ 的这些语言特性,但 C# 仍然是一种功能强大的编程语言,围绕类似 Java 和 Delphi 的特性进行设计来支持因特网应用程序。因为 C++ 对机器级的关注以及缺少 RAD 支持,所以它不适合用作因特网应用程序开发语言的基础。如果 C++ 开发人员需要针对 .Net 平台编写应用程序和服务,则在 C# 发布以后将会被极力建议学习这种语言 — 请记住,它与 C++ 的实际区别比它们的名称所表明的区别要大得多。

在这个过渡时期,最好学习 Java 或 Delphi。不仅因为这两种语言将使您更好地理解 C#,而且因为这两种语言本身也是非常有用的语言。作为软件专业人员,我们应该利用可获得的最好的工具。

作者简介

Michael L. Perry 六年多来一直从事专业 Windows 开发,并拥有 COM+、Java、XML 等方面的专家经验以及目前塑造编程前景的其他技术。他于 1998 年成立了 Mallard Software Designs 公司,在公司内他用数学严格证明软件设计 — 在实现之前首先建立解决方案的正确性。

上一页  [1] [2] [3] 


C#,自然的进步