C#进阶教程(一)

来源:岁月联盟 编辑:zhu 时间:2008-11-26

  写在前面的话

  在写这些文章之前,我对C#一无所知.只从前辈那里听说了一些,说他很像JAVA.因为我这段时间一直在看JAVA,结果什么明堂没看出来(只能怪我太笨:),其实我想还是没有实践的机会),所以就很想换换口味.其实很早就听说了C#,想看一看这个东东,只是上M$的网站一看,.NET的东东要一百多兆呢!看了就怕,何况全部下载下来,要费我一整张电话卡呢?幸好我一个朋友先把.NET下载下来了,我拿了硬盘就跑过去拷过来了.一个SETUP.EXE,足足有106M之巨.所以,我在此要特别感谢这位朋友阿KEN,没有他的帮助,就没有下面的文章.

  写这篇文章的时候,我就有些害怕,怕自己水平不够,错误太多,挨别人骂.在写的过程中,发现还是比较顺利的,因为这些跟原先的JAVA有很多相象的地方.而JAVA,很多前辈都有很深的研究.不过,由于本人水平有限,错误之处在所难免,如果大家发现有什么错误之处,还望指正,在下感激不尽!我的MAIL:mrfat@china.com.小弟先在此谢过了!

  以下的文章适用于有一些JAVA/C 编程经验的人,如果有JAVA的编程经验,那就更好了,因为我在里面很多地方把C#与JAVA对比.如果你没有任何的编程序经验,可以到OICQ的主页的社区去找另一系列的C#教程,那个可能更适合你.

  还有就是由于以下文章是在闲的时间写的,废话比较多,大家看了不要吐血哟!好了,下面开始吧!

  C#进阶 (一)

  大家好,我是武汉华师的SUNWEN,我又回来了。五一大家都走了,SUNWEN还要在寝室里奋战,呜呜。今天,我要向大家讲的是大家听说了好久的,又充满神密的语言:C#。

  今天刚从朋友那搞来了M$的.NET开发包,从M$的网站上下的,有106M,所以SUNWEN自然就没有钱去下他了.话说今天早上六点.....(台下:快进入正题,笨蛋!又一双皮鞋飞了上来,这已是第三双了!)是,我马上开始!

  刚拿到C#的参考时,我一看,这简直就是JAVA嘛!的确,跟外界说的一样,在表面上,C#和JAVA非常地像,以致一个懂JAVA的人能够很快的掌握C#的结构.致于其内部的实现机理,那我也不太清楚,只能与大家在学习中共同进步了,还希望大家多多捧场呀!

  好,为了给大家一个更清晰的感觉,我首先给大家一个例子,自然是HelloWorld(老土!).

  000: // HelloWorld/Hello1.cs
001: public class Hello1
002: {
003: public static void Main()
004: {
005: System.Console.WriteLine("Hello, World!");
006: }
007: }

  它的输出结果是:

  Hello, World!

  有的朋友已经发现了,就是JAVA!只不过把System.out.prinln()改成了System.Console.WriteLine()罢了!

  下面我们来分析一下这个程序,整个程序由一个public类(class)组成,里面必然有一个public static void Main()这个方法,执行代码就在里面.System.Console.WriteLine("Hello, World!")这个语句的作用就是向控制台(Console)打印一行Hello,World!.很简单吧!

  下面再来一个:

  000: // HelloWorld/Hello2.cs
001: using System;
002:
003: public class Hello2
004: {
005: public static void Main()
006: {
007: Console.WriteLine("Hello, World!");
008: }
009: }

  这个程序用了一个using,其实它就等于JAVA里的import,就是引用一个包的意思.当引用了这个包之后,在这个包中的Console类就不要指出全称了,只要Console.WriteLine()就可以了,不必用System.Console.WriteLine()这么长了,省略了System了.

  例三,如下显示了如何显示命令行的参数

  000: // HelloWorld/Hello3.cs
001: using System;
002:
003: public class Hello3
004: {
005: public static void Main(string[] args)
006: {
007: Console.WriteLine("Hello, World!");
008: Console.WriteLine("You entered the following {0} command line arguments:", args.Length );
009: for (int i=0; i < args.Length; i )
010: {
011: Console.WriteLine("{0}", args[i]);
012: }
013: }
014: }

  可以看到,字符串数组args指的就是输入的参数.因为它是String类,所以都有Length方法,所以可以有args.length来访问它的长度.然后用一个for循环来把它们显示出来.至于循环这些东西,大都沿用了C的语法.

  例四,如果要一个返回值,那么可以像下面这样写,用return:

  000: // HelloWorld/Hello4.cs
001: using System;
002:
003: public class Hello4
004: {
005: public static int Main(string[] args)
006: {
007: Console.WriteLine("Hello, World!");
008: return 0;
009: }
010: }

  很简单吧!呵呵!对懂C或JAVA的人来说,比较好看懂,如果是VB或VBS的使用者,就有一些困难了.呆呵!

  好了,看完了简单的例子,让我们来进入下一课吧!