.NET平台开发的王者——C#
技术与开发
自从微软发布.NET平台以来,业界就刮起了.NET旋风,面对铺天盖地的高薪招聘C#程序员的广告,难道你就不动心吗?目前,具有1年经验的C#程序员,月薪在3000元左右,具有3年以上经验的C#程序员,月薪基本都超过万元。掌握了C#就代表着高薪,还等什么,赶快加入C#的阵营吧!
微软将.NET平台作为公司的未来希望所在,为此投入了绝大部分人力和物力。事实证明,.NET确实是个创举,它的优秀一经发布就引起了强烈的反响。.NET平台是微软经过深思熟虑后产生的对未来软件开发具有革命性创新的产品,它必将影响将来的软件开发之路。而C#是专为.NET设计的,C#的设计师正是Delphi之父Anders Heijlsberg,C#完全从零开始,是一种全新的语言,它使得程序开发更加简单、更加安全,更适应Internet的应用。无数C、C++程序员转向了C#阵营,有人说C++的时代已经快结束了,因为现在已经是Internet时代,而未来的开发领域必定是C#的时代。
小知识:什么是.NET
究竟.NET是什么东西呢?简单的说它就是一个开发平台,.NET首先提供一个可供开发人员使用的平台,这个平台中包含了特定的编程环境,和可以使用的类库等,然后提供一系列的编程语言,包括C#、VB.NET、J#等。使用C#、VB.NET等语言编写的程序实际是运行在.NET Framework框架之下的。.NET Framework是.NET的核心,它区别隔离了操作系统和所有以.NET开发出来的应用程序,目的是将所有以.NET开发出来的应用程序顺利地移植到更多的硬件平台或操作系统下运行。目前的.NET平台仅存在于Windows平台下,但Microsoft必然会将它拓展到其他平台。.NET平台下支持C#、VB.NET、VC++.NET等编程语言,它提供了一套公共的基础库,所有.NET平台下的语言都可以使用这套基础库,它们共享公共类库,具有类似的编程模型和相差不多的功能。开发人员可以凭自己的喜好选择开发语言。
认识C#
谈到C#就不能不谈到.NET平台,.NET平台被定义为:为简化在第三代因特网的高分布式环境下的应用程序开发,基于开放互联网标准和协议之上的,实现异质语言和平台高度交互性,而构建的新一代计算和通信平台。
C#是一种由Microsoft开发的简单、精炼、类型安全、面向对象的语言,用于生成各种各样的.NET应用程序,包括Web服务和ASP.NET应用程序。任何熟悉C和类似的语言,在适应C#时就不会有问题,C#与C和C++高度近似,熟悉这两种语言的开发人员可以在C#中迅速开展卓有成效的工作。
从Hello World程序开始
首先来看一下C#版本的Hello World程序吧!
using system;
class HelloWorld
{
public static void Main ()
{ Console.Writeline ("Hello World!");}
}
这个Hello World小程序的代码都是被封装在class(类)里面的,第一行代码是引入命名空间,.NET框架下有一些命名空间,在这些命名空间下面又有相对应的类,要想使用这些类,就必须引入相应的命名空间。下面用到的Console类就是system命名空间下的类,WriteLine()则是Console类的一个方法,它的作用就是在屏幕上打印一行字符串。运行这个程序的效果就是在屏幕上输出“Hello World!”这几个字符(不包含双引号)。怎么样,简单吧,如果你想学习C#,就马上开始吧。
如何系统地学习
学习C#其实不难,只需要依次学习以下内容:
1.语法基础
任何编程语言都有它自身的特定语法,虽然C#和其它类似语言的语法很相似,但仍然存在差别,所以语法基础一定要打牢。基本的语法内容包括数据类型和变量、类的使用等,比较高级的还有继承与多态、接口等。稍有编程基础的人学习这些,大概需要一周的时间。有了语法基础就可以使用C#编写程序了。
2..NET Framework
如果仅仅学会了C#的语法基础就开始编写程序,那么程序的功能会非常有限,因为C#本身并没有基础类库,它必须调用.NET类库,所以我们还必须学习.NET Framework。
C#是工作在.NET平台之下的,所以框架的学习必不可少。比较重要的是.NET Framework中包含的大量的类,这些类是编写程序的基础,即使是最简单的Hello World程序也包含了类的信息,也就是说,如果没有这些类,几乎就编写不了程序。
如图所示的是Microsoft .NET Framework 3.0的基本结构。最底层的是公共语言运行时,它负责编译写好的程序。其上的是基础类库,它包含了一系列微软为所有.NET开发人员定义好的类。再向上是.NET支持的技术,包括Web程序开发、桌面程序开发和其它新增组件,最上层的是开发工具语言,包括C#、VB.NET等。将这些知识都基本理解后就可以对C#的开发有一个比较清晰的认识了。

3.面向对象编程的设计思想
有一些程序设计者对基本语法、基础类库掌握得比较熟悉,但是却缺乏面向对象的程序设计理念。面向对象也是C#的精髓之一,面向对象编程(Objdet-Oriented Programming,OOP)是当今占主导地位的程序设计思想和技术。
笔者的个人经验
无论是C#还是其它语言的学习,漫无目的地学习,效率是很低的,一个比较好的方法是在学习的过程中自己做一些小程序,完成自己需要的某项功能,这样会比较有目的性,消除了学习过程中的枯燥感。笔者就是通过完成一个对数据库数据整理的小程序,加深了对用C#操作数据库的理解。
当你慢慢熟悉了C#的开发以后,就面临着C#开发的两个方向,一个是Web Form(网页程序)开发,另一个是Windows Form(桌面程序)开发。在网页程序开发中将会用到ASP.NET,C#是ASP.NET所支持的语言。所有Web窗体都由两部分组成:隐藏代码文件和.asp文件,C#中的隐藏代码文件就是.cs文件,.cs文件包括了网页的逻辑结构、功能实现,而.asp文件则包含了页面的外观设计,这样就将逻辑结构和页面设计分离开来,使得不同分工的设计人员能够互不干扰地工作,提高了协同开发的效率。实际上Web Form开发与Windows Form开发大同小异,除了使用的控件有些差异以外,调用的基础类库是一致的,所以只要熟悉了其中一种技术是比较容易过渡到另一种技术上去的。
C#的开发工具一般来说就是 Microsoft 的 Visual Studio.NET了,现在的最新版本是2005版,这个开发工具提供了超级强大的功能,能让你进行最少量的代码书写,甚至一句代码都不用写就能够实现连接到数据库这样的功能。但这个工具的运行速度比较慢,如果想运行顺畅的话,电脑最好有较高的硬件配置。
C#的学习资源推荐
网络资源:
1.http://www.microsoft.com/china/msdn/developercenter/VCSharp/default.mspx/
这是微软网站上面向C#开发者的网页,包含了大量的代码、实例、讲座,绝对权威。基本上你能想到的问题,它都能给你答案。
2.http://chs.gotdotnet.com/quickstart/
该站点是微软.NET技术的快速入门网站,我们不必再安装.NET Framework中的快速入门示例程序,直接在网上查看此示例即可。
3.http://www.gotdotnet.com/
本站点提供微软.NET官方信息,并且有大量的用户源代码、控件下载,微软.NET开发组的人员也经常在此站点发表一些指导性文章。
4.http://www.chinaaspx.com/
中国.NET俱乐部,资料更新及时,论坛也不错。
5.http://www.csdn.net/
这个是程序员都知道的网站了,上面有关.NET、C#的内容很多。有什么疑问就到论坛上发帖吧,一定会有热心人帮你的。
书籍资源:
1.《Programming C#中文版》作者:Jesse Libert,电子工业出版社
2.《C#入门经典(第三版)》作者:Karli Watson、Christian Nagel等,清华大学出版社
3.《C#精髓》作者:Albahari,中国电力出版社
4.《ADO.NET实用指南》作者:Shawn Wildrmuth,清华大学出版社
5.《ASP.NET高级编程》,作者:Richard Anderson 、Brian Francis,清华大学出版社