(1) Java 和 C# 都源于 C++,并且共有 C++ 的一些特征。

  (2) 两种语言都需要编译成中间代码,而不是直接编译成纯机器码。Java 编译成 Java 虚拟机 (Java Virtual Machine, JVM) 字节码,而 C# 则编译成公共中间语言 (Common Intermediate Language, CIL)。

  (3) System.Exception 类是所有 C# 异常类的基类。

  (4) 同 Java 一样,C# 是强类型检查编程语言。编译器能够检测在运行时可能会出现问题的类型错误。

  (5) 同 Java 一样,C# 提供自动垃圾回收功能,从而使编程人员避免了跟踪分配的资源。

  (6) Java 和 C# 都支持单一继承和多接口实现。

  (7) C# 语言引入了一些新的语言构造,如 foreach、索引器、属性、委托、运算符重载和其他语言构造。

  (8) Java 不允许在相同的源文件中有多个包,而 C# 允许在一个 .cs 文件中有多个命名空间:

  (9) 定名可能会变得很长而不便于使用,在这种情况下,我们可以使用 using 关键字来指定一个简称或别名,以提高代码的在 C# 中,所有的基本数据类型都是 System 命名空间中的对象。

  (10)C# 开发人员不应该使用字符串类型来连接字符串,以避免每次连接字符串时都创建新的字符串类的开销。相反,开发人员可以使用 System.Text 命名空间中的 StringBuilder 类,它在功能上等同于 Java 中的 StringBuffer 类

  (11)将值类型转换为引用类型的过程称为装箱。而相反的将引用类型转换为值类型的过程就称为拆箱。

  (12)C# 需要在每个 case 的末尾都使用 break 或 goto 语句,如果两者都不存在,则编译器会产生下列错误: