可能象我一样,很多程序员正准备或已经开始转向C#,下面根据笔者的一点经验,列举一些VB、VC程序员在写C#代码时应注意到的一点小细节。
1.语法习惯
1.1 预定义和导入
VC程序员:对于#include,一定再熟悉不过了,在C#里改成了 using ,但也不一是必要的,比如:
using System;
...
Console.WriteLine ("Helo World!");
和
System.Console.WriteLine ("Helo World!");
的效果是一样的。而且要注意的是C#里已经抛弃了"::"、"->"等错作符。只能用"."
VB程序员:其实这一步是在"references"里面引用的,比如 Visual Basic For Application 里面的函数,也可以这样写:VBA.Now。
总之,从现在开始,要适应用 using 来进行导入。
1.2 大小写和注释
这一点VC的程序员应该很好适应,而VB程序员则要从开始就养成好的习惯。值得注意的是:A. "//"后面不能跟连接符"\" B."/* */" 不能嵌套使用。
1.3 关于main() 函数
经常用C写控制台程序的朋友要注意了,C#里的main() 函数必须被包含在一个类中。
1.4 String 类
VC程序员:下面的用法一定不陌生
String s = "abcd" + "efgh"
Char a = s[5] //此时a的值为'e'
VB程序员:其实这种用法相当于:
dim s as string
s = "abcd" + "efgh"
a = Mid("s",5,1) '此时a的值为'e'
2. 数据类型
2.1 布尔型
VC程序员:C# 采用了VB里的那种True False,而非以前的0表示假,非0表示真。
2.2 字符类型
VC程序员:在C++中,该变量表示的是值所对应的ASCII码,而且可以做为整数的一部分参加附值运算,这一点在C#中是不允许的。
VB程序员:类似与VB中的:Chr(13) 表示回车。
2.3 十进制类型
这是一个新增的类型,在实际当中的应用也很广。
3 编译
C++的编译过程是 保存-> 编译-> 链接,而且是只有编译后的程序才能运行。VB的程序更象是一边运行一边编译,而C#的编译过程恰恰结合了两者的优点,它是直接编译成exe或dll,而跳过了目标文件(obj)这一过程,所以C#的编译器中不需要包含链接器。
另外,我们还可以通过 csc/nooutput Temp.cs 来进行全编译,不生成exe文件就能查代码的语法错误,类似于VB中的 start with full compile
一个新的语言,理解她的思想,适应她的语法,可能需要一定的时间,让我们从点滴入手,开始一个全新的DOTNET的世界吧!
minajo21(大眼睛)