在C#中,如果必须与其他Windows软件(如COM对象或本机Win 32 DLL)交互,则可以通过一个称为“互操作”的过程来实现。互操作使C#程序能够完成本机C++应用程序可以完成的下,C#甚至支持指针和“不安全”代码的实现。
C#生成过程比C和C++简单,比Java灵活,它没有单独的头文件,也不要求按照特定的顺序声明方法和类型,同时还可以定义任意数量的类,结构,接口和事件。
C#独有的特点:
1、中间代码。
2、命名空间中的声明。当创建一个程序时,在一个命名空间里创建了一个或多个类,同时在这个命名空间里(在类的外面)可能还有声明接口,枚举类型和结构体等。这时必须使用using关键字来引用其他命名空间的内容。
3、基本数据类型,C#拥有比C,C++或者Java更广泛的数据类型。这些数据类型是bool,byte,ubyte,short,ushort,int, uint, long ,float, double和decimal。
4、两个基本类,一个名叫objict的类是所有其他类的基类,而一个名类叫string的类同object一样,是这个语言的一部分。
5、参数传递。方法可以被声明为接受可变数目的参数。默认的参数传递方法是对基本数据类型进行值传递。ref关键字可以用来使一个变量通过引用传递接受一个返回值,out关键字可以声明引用传递的过程。与ref不同的是,out关键字可指明某个参数不需要初始值。
6、与COM的集成。C#对Windows程序最大的特点可能就是它与COM的无缝集成,COM就是微软的Win32组件技术。C#编写的类可以子类化一个已存在的COM组件,生成的类可能被作为一个COM组件使用。
7、索引下标。使用索引不是使用属性名来引用类成员,而是用哟个方括号中的数字来匿名引用(就像用数组下标一样)。
8、代理和反馈。一个代理对象包括了访问一个特定对象的特定方法所需要的信息。代理对象可以被移动到另一个地方,然后可以通过访问它来对已存在的方法进行类型安全的调用。一个反馈方法就是代理的特例。event关键字用在将在事件发生的时候被当成代理调用的方法声明。










