C#(读做 \"C sharp\")是微软公司在去年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.......
C
#从Java继承而来的特点 类:在C#中类的申明与Java很相似.这是合理的因为经验告诉我们Java模型工作得很好。Java的关键字import已经被替换成using,它起到了同样的作用。一个类开始执行的起点是静态方法Main()。下面的Hello World程序展示了基本的形式:
using System; class Hello { static void Main() { Console.WriteLine("Hello, world"); } } |
在这个例子中,System这个名字指向一个包括了基本C#实用类集合的命名空间(namespace).这个命名空间包括了Console类,它在这个例子中被用来输出一个字符串。类可以是抽象的和不可继承的:一个被申明成abstract的类不能被实例化;它只能被用做一个基类。C#关键字lock就象Java关键字final,它申明一个类不是抽象的,但是它也不能被用做另一个类的基类。界面:就象在Java中一样,一个界面是一组方法集合的抽象定义。当一个类或结构体实现一个界面的时候,它必须实现这个界面中定义的所有方法。.一个单一的类可以实现几个界面。也许以后会出现一些微妙的差别,但是这个特点看起来与Java相比没有变化。布尔运算:条件表达式的结果是布尔数据类型,布尔数据类型是这种语言中独立的一种数据类型.从布尔类型到其他类型没有直接的转换过程。布尔常量true和false是C#中的关键字。错误处理:如Java中那样,通过抛出和捕捉异常对象来管理错误处理过程。内存管理:由底层.NET框架进行自动内存垃圾回收。
C#从C和C++继承的特点 编译:程序直接编译成标准的二进制可执行形式。如果前面的Hello World程序被保存成一个文本文件并被命名为Hello.cs,它将被编译成命名Hello.exe的可执行程序。
结构体:一个C#的结构体与C++的结构体是相似的,因为它能够包含数据申明和方法。但是,不象C++,C#结构体与类是不同的而且不支持继承。但是,与Java相同的是,一个结构体可以实现界面。
预编译:C#中存在预编译指令支持条件编译,警告,错误报告和编译行控制。可用的预编译指令有:
#define #undef #if #elif #else #endif #warning #error #line [] |
没有了#include 伪指令。你无法再用#define 语句对符号赋值,所以就不存在源代码替换的概念--这些符号只能用在#if和#elif伪指令里。在#line伪指令里的数字(和可选的名字)能够修改行号还有#warning和#error输出结果的文件名。
操作符重载:一些操作符能够被重载,而另一些则不能.特别的是,没有一个赋值运算符能够被重载。能够被被重载的单目操作符是:
+ - ! ~ ++ -- true false
能够被重载的二元运算符是:
+ - * / % & | ^ << >> == != > < >= <=