初识C#,越听越不懂。很多名词都没有接触过,不过当查阅资料后,慢慢地追上楚广明老师的思路。
作为一门编程语言,C#有其独有的特点,也有同其它语言类似的方面,在这里对C#基础与VB对比来做一个小结。
一、数据类型
1、C#的数据类型分为两种:值类型与引用类型。
值类型,表示实际数据,只是将值存放在内存中,值类型都存储在栈中,包括:int,char,float,double,bool,结构及枚举等
引用类型,表示指向数据的指针或引用,包含内存堆中对象的地址,未引用任何对象则为Null,包括:类,接口,字符串,数组,委托,Object。
2、 这些是VB所欠缺的,另外C#有枚举类型,而VB则没有。但是二者有一个共同点就是数据类型转换。
C#中,分为隐式转换与显示转换,拆箱与装箱。对于表示数值的基本数据类型来说数值范围小的数据类型转换成数值范围大的数据类型可以进行隐式转换,反过来必须进行显示转换。对于类类型来说,子类型转换成父类可以进行隐式转换,反过来必须进行显示转换,例如:
Stringstr1=”abc”;
Object obj=str1; //子类转换成父类,隐式转换
Stringstr2=(string)obj; //父类转换成子类,显示转换
而VB中我们通常是通过类型转换函数来强制将一个表达式转换成某种特定数据类型。
例如: CBool(expression)、CByte(expression)、CCur(expression)、CDate(expression)等。
C#的简单数据类型与VB也大同小异,这里就不再多介绍了。
二、变量与常量
C#与VB都可以声明变量与常量,但是二者的声明方法不同,例如:
String i //C#声明变量方法,数据类型后面直接跟变量
Dim i as string ‘VB声明变量的方法
这么一看,C#倒是比VB少了很多代码,看起来也简洁一些。
从这个例子又可以看出来,二者的注释是不同的。 在C#中用“//”来注释,VB中用” ’ ”来注释。
三、语法问题
1、C#同VB一样拥有流程控制语句和异常处理语句。
对于异常处理语句上:
VB中常常用on errorgoto line: 来让程序出错时跳到line:这一行。而C#中提供了更多的方法。
C#为了处理可能的情况,一般把程序的相关部分分为三种不同类型的代码块:
Try块包含的代码组成了程序的正常操作部分
Catch块包含的代码处理各种错误情况
Finally块包含的代码清理资源或执行要在try块末尾执行的其它操作。如:
Try
{
//可能发生错误的代码
}
Catch
{
//错误处理
}
Finally
{
//资源清理
}
C#与VB还有很多相同和不同点,期待大家一起发现。
通过C#的学习,使我对面向对象的认识又进了一步。我对类、对象、构造函数、重载、继承、抽象类与派生类、多态与接口有了一些基本的理解,希望在以后的使用中充分熟悉它们。