第一章 c#的开发环境
c#最简间编辑器可以用notepad,但我并不建议用它编辑源码。原因是如果你与真正的编程语言打交道,使用notepad编辑源码编译时可能产生大量的错误信息行,但你还不知是在哪呢。
你有几种选择:
第一,配置visual studio 6中的visual c++ 6.0,使它能够和c#源文件一起工作。
第二,选择microsoft最新的visual studio 7,其ide风格非常的cool哦,居然还有vfp,c++、vb、c#在同一环境中,但是很耗资源,所以使用它要考虑清楚哦。
下面我就介绍一下visual studio 7的安装吧:
操作系统的选择,最好是选择win2000中文版(英文版也可以,中国人当然用中文版了),安装后升级到sp1(servicepack 1,中文版的要装中文版的win2ksp1),然后请安装ie5.5。安装q274294_w2k_sp2_x86_cn.exe补丁,到目前为止,基本的要求已经达到了。
开始安装vs.net,把下载的文件解压或把购来的1、2号光盘复制到一个硬盘新目录中(大约需要850m空间),然后进入该目录后,运行setup文件。如果是安装在中文版的win2000则需要进入setup目录下,再运行里面的setup程序。
安装程序会提示你安装一些不符合版本的组件,主要包括frontpage server extension qfe,ie5.5,请把指定存放升级组件的目录位置或是3号光盘。在升级后系统会安装如xml3等有关组件。
升级组件后,系统会开始安装vs.net。时间约35分钟(时间根据你的机子配置)
以上安装过程中,必要时要重新启动你的计算机,上面提到的,大多都能到microsoft的网站(http://www.microsoft.com)上下载。
其实,你只要安装好ngws.net sdk后,就可直接编译c#的程序。在ngws sdk安装时,安装程序会自动替你在环境变量path中加入c#编译器所在的路径。因此你可以用任何编辑器编写一个c#程序,后缀名存为.cs,然后在命令行执行csc xxx.cs即可编译生成exe文件。
第三,你可以用任何第三方程序编辑器,最好要支持行数、色彩编码、工具集成和良好的搜索功能,本人推荐一个(sharp develop,一个专用于c#的开发工具)。
ide界面如下:
现在就以"hello world"为例说说如何使用c#的开发环境吧
最简单的 "hello world "程序 ,如下:
1: class helloworld
2: {
3: public static void main()
4: {
5: system.console.writeline("hello world");
6: }
7: }
在c#中,代码块(语句组)由大括弧({和})所括住。所以,甚至你以前没有c++的经验,你也可以说出main()方法就是helloworld 类语句的一部分,因为类被括在所定义的大括弧中。
c#应用程序的入口点就是 static main方法,这个有点象是c/c++,但大小写不同,它必须包含在一个类中。仅有一个类能使用该标志定义,除非你告诉编译器它应使用哪一个 main 方法,否侧,会产生一个编译错误。
和c++相比,main的第一个字母是大写的m,而不是你曾经使用过的小写字母。在这个方法中,你的程序开始并结束。方法中可以调用其它方法――如这个例子中,用于输出文本――或者创建对象并激活该方法。
正如你所看到的,main方法返回一个void类型。
public static void main()
尽管看到这些语句时,c/c++程序员肯定会觉得似曾相识,但是其他程序员并不如此。首先,public 的访问标志告诉我们这个方法可以被任何程序访问,这是它被调用的必要条件。其次,static 意味着没有先创建类的实例也可以调用方法――你所要做的就是用类名调用方法。
helloworld.main();
另一重要的方面是返回类型。对于方法main,可选择void (意味着根本就没有返回值),或用int为整型结果(应用程序返回的错误级别)。因此,两种可能的main方法为:
public static void main()
public static int main()
c/c++程序员会同样知道后面我要提到的――可以传给应用程序的命令行参数数组。如:
public static void main(string[] args)
我现在并不想详细地说明如何访问参数,但我想事先给c++程序员一个警告:和c++相比,应用程序路径不是这个数组的一部分。仅仅那些参数包含在这个数组中。
在对main方法并不简短的介绍之后,让我们把注意力集中到唯一真正的代码行――这行代码在屏幕上显示"hello wold"。
system.console.writeline("hello world");
假如不是由于有了system,大家会马上猜到writeline是console 对象的一个静态方法。那么system代表什么呢? 它是包含console对象的名字空间(范围),实际上并不是每次都在console对象前加上名字空间的前缀,你可以象清单3.2所示范的那样,在应用程序中引入名字空间。
在应用程序中引入名字空间,代码如下:
1: using system;
2: class helloworld
3: {
4: public static void main()
5: {
6: console.writeline("hello world");
7: }
8: }
所有你要做的就是给system名字空间加一个using(有点象是delphi中的uses)指令。在这之后,不再需要规定名字空间,就可以使用它们的方法和属性了。
编译应用程序
由于ngws runtime支持所有的编译器(vb、c++和c#),你不必买一个单独的开发工具用来把应用程序编译成il(中间语言)。但是,如果你从没有用过命令行编译器编译过应用程序(仅懂得编译名,而没有熟记), 它还是你的首要选择。
打开命令提示符并切换到存 helloworld.cs 的目录。敲入以下命令:csc helloworld.cs
helloworld.cs 被编译并链接成hellworld.exe(c#编译器如果没有出错提示)
使用命令行编译器 csc.exe 编译应用程序
现在你已经准备好运行第一个真正用c#编写的应用程序。简单地在命令行上敲入helloworld,输出结果为 "hello world"。
在继续往下介绍之前, 我想稍为想象一下第一个应用程序和一个编译器开关的使用:csc /out:hello.exe helloworld.cs
这个开关告诉编译器输出文件命名为hello.exe。虽然这不是什么绝招,但它是这本书中用到的未来编译器的基本功。 小结
在这一章中,你完成了从0开始到创建、编译并执行了第一个c#应用程序。学习就是这样,从无到有,不然,自己知道,还要再学,有啥意义呢!
新闻热点
疑难解答