- 相同点:编译为机器独立、语言独立的代码,运行在托管运行环境中 采用垃圾收集机制,同时摒弃了指针; 具有强有力的反射能力; 没有头文件,所有代码都在包装程序集里; 不存在类声明的循环依赖问题; 支持多继承接口、单继承实现; 所有的类都派生自object,且必须用new关键字分配于堆上等。 异同点:C#只能在Windows上执行; C#在.NET框架下,所有的语言都被编译成相同的中间代码,运行时由公共语言运行时负责管理,使用相同 的组件,真正做到了多语言集成; C#保留了许多Java抛弃的语言特性,如枚举,操作符重载,类型转换。 C#面向组件特性。C#加入了在编写组件时所需要的所有概念。可为任何对象加入类型的可扩展的元数据。 C#合并XML注释标记语言,编译器可以用其直接从源码中生成可读文档