Welcome

首页 / 软件开发 / C# / Visual Studio:针对Java开发人员的C#编程语言(1)

Visual Studio:针对Java开发人员的C#编程语言(1)2010-09-02 MSDN 本文讨论 Java 和 C# 之间的异同点,目的在于当迁移到 .NET 时,让 Java 开发人员掌握所涉及的一些知识。Java 和 C# 之间的主要相似点是:

Java 和 C# 都源于 C++,并且共有 C++ 的一些特征。
两种语言都需要编译成中间代码,而不是直接编译成纯机器码。Java 编译成 Java 虚拟机 (Java Virtual Machine, JVM) 字节码,而 C# 则编译成公共中间语言 (Common Intermediate Language, CIL)。
Java 字节码是通过称为 Java 虚拟机 (JVM) 的应用程序执行的。类似地,已编译的 C# 程序由公共语言运行库 (Common Language Runtime, CLR) 执行。
除了一些细微的差别以外,C# 中的异常处理与 Java 非常相似。C# 用 try...catch 构造来处理运行时错误(也称为异常),这和 Java 中是完全一样的。System.Exception 类是所有 C# 异常类的基类。
同 Java 一样,C# 是强类型检查编程语言。编译器能够检测在运行时可能会出现问题的类型错误。
同 Java 一样,C# 提供自动垃圾回收功能,从而使编程人员避免了跟踪分配的资源。
Java 和 C# 都支持单一继承和多接口实现。
现在让我们看一看本文涵盖的重要差异:

C# 语言引入了一些新的语言构造,如 foreach、索引器、属性、委托、运算符重载和其他语言构造。在本文后面我们将更详细地讨论这些构造。
源文件约定

我们需要知道,两种语言在源程序的文件命名约定和结构上有一些不同:

文件命名

包含 C# 类的文件的命名约定与 Java 有点不同。首先,在 Java 中,所有源文件的扩展名都为 .java。每个源文件都包含一个顶层公共类声明,并且类名必须与文件名相匹配。换句话说,一个用公共范围声明的名为 Customer 的类必须定义在具有名称 Customer.java 的源文件中。

而 C# 源代码是由 .cs 扩展名表示的。与 Java 不同,源文件可以包含多个顶层公共类声明,而文件名不需要与任何类名相匹配。