1、为了便于复杂程序开发,开发人员将数据和与之相关的运算打包到一起,统一考虑,从而形成了类。类实际就是数据和相关处理的代码的封装体。它也构成了面向对象编程的核心。本章将给大家详细讲解C#语言中的类的用法。.NET框架(.NET Framework)由微软开发,是一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。NET框架的目的是便于开发人员更容易地建立Web应用程序和Web服务,使得Internet上的各应用程序之间可以使用Web服务进行沟通。.NET框架
2、是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。从层次结构来看,.NET框架又包括三个主要组成部分:通用语言运行时(CLR,Common Language Runtime)、基类库(Base Class Library)和上层的两类应用模板Windows应用程序模板(Win Forms)和基于ASP NET的网络应用程序模板(Web Forms和Web Services)图1-1 .NET框架通用语言运行时(CLR)提供了程序代码可以跨平台执行的机制,是.NET框架的核心。当使用.NET程序设计语言编写好程序代码后,它会被编译两次。第一次是将程序代码和基础类组合编译成中间语言
3、(IL,Intermediate Language),第二次是在执行时,CLR会将中间语言(IL)编译成运行平台的CPU可以执行的本地代码,如同1-2所示。正是这样的运行模式,使得.NET平台框架开发出来的程序可以在在任何具有CLR的平台上执行,实现一次编写,到处运行。图图1-2 .NET 程序的两次编译程序的两次编译CLR的上层是.NET的基类库,它提供一个可以供不同编程语言调用的、分层的、面向对象的函数库。这组基类库包括从基本输入输出到数据访问等各方面,提供了一个统一的面向对象的,层次化的,可扩展的编程接口。.NET Framework 类库是一个与公共语言运行库紧密集成的可重用的类型集合
4、,用于应用程序开发的一些支持性的通用功能。主要包括以下类库:数据库访问(ADO.NET等)、XML支持、目录服务(LDAP等)、正则表达式和消息支持。.NET框架的最上层是应用程序,可以分为面向网络应用的ASP.NET程序和面向Windows系统的Windows应用程序,这两类应用程序均可使用C#、VC+.NET、VB.NET等来编写。.NET1.0发行于2002年,被称作Visual Studio.NET 2002。.NET框架 1.1发行于2003年,被称作Visual Studio.NET 2003。.NET框架 2.0发行于2005年10月,.NET框架 2.0的组件都包含在 Visu
5、al Studio 2005和SQL Server 2005里面。.NET框架 3.5发行于2007年,增加了对支持AJAX和LINQ(Language-Integrated Query)的支持,该版本随Visual Studio 2008一起发布。.NET框架 4.0主要增加了并行支持,英文版于2010年4月12日推出。C#语言是一种面向对象的程序设计语言,是微软.NET公共语言运行环境中内置的核心程序设计语言。使用C#语言可以开发在.NET Framework上运行的多种应用程序,包括:控制台应用程序、Windows窗体应用程序、Web应用程序以及Web服务等。C#语言的主要特点如下:1
6、语法简洁语法简洁 2 支持跨平台3 面向对象面向对象 4 完整的安全性完整的安全性5 语言的兼容性和灵活性6 与Web完美结合7 版本可控Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代开发工具,代号“Orcas”,你可以理解为一个功能强大的编辑器。Visual Stdio 2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。1.NET Framework 对重定向的支持对重定向的支持 2 ASP.NET AJAX和和JavaScript智能客户端支持智能客户端支持 3全
7、新的全新的Web开发体验开发体验 4编程语言方面的改进和编程语言方面的改进和LINQ 5浏览浏览.NET Framework库源码库源码1Visual Studio 2008的环境要求的环境要求 Visual Studio 2008对系统环境有较高的要求。(1)硬件要求中央处理器(CPU):建议采用1GHz或以上32位(x86)或者64位(x86)处理器。内存:至少配置为1GB(32位),推荐2GB(64位)内存以上。硬盘:20GB硬盘(32位)或40GB硬盘(64位)以上可用硬盘空间。显示器:推荐配置1024768分辨率以上的全彩显示器,以便方便地显示开发环境提供的多个不同功能窗口等。1Vi
8、sual Studio 2008的环境要求的环境要求(2)软件要求操作系统:Windows7、Windows Vista或Windows XP。2Visual Studio 2008的安装的安装C#可以用于创建控制台(Console)应用程序:仅使用文本、运行在DOS窗口中的应用程序。由于控制台应用程序结构比较简单,在程序设计语言的语法学习阶段使用这类程序作为实例,将有助于简化问题的讨论,所以我们将以控制台程序为例讲解创建C#程序的过程。在Microsoft Visual Studio 2008(简称为VS2008,以下皆同)中创建一个C#控制台应用程序的主要步骤如下:(1)启动运行“Micr
9、osoft Visual Studio 2008”;(2)选择项目类型为控制台应用程序,并指定项目名称及其保存位置;(3)在应用程序编辑环境中输入程序代码;(4)调试运行程序。一个C#控制台应用程序主要由以下几部分构成。1导入其他系统预定义元素导入其他系统预定义元素高级程序设计语言总是依赖许多系统预定义元素,为了在C#程序中能够使用这些预定义元素,需要对这些元素进行导入。上例创建的控制台应用程序中,使用下述代码段导入了对其他命名空间的引用:using System;using System.Collections.Generic;using System.Linq;using System.T
10、ext;一个C#控制台应用程序主要由以下几部分构成。1导入其他系统预定义元素导入其他系统预定义元素高级程序设计语言总是依赖许多系统预定义元素,为了在C#程序中能够使用这些预定义元素,需要对这些元素进行导入。使用下述代码段导入了对其他命名空间的引用:using System;using System.Collections.Generic;using System.Linq;using System.Text;2命名空间命名空间 C#程序是用命名空间来组织代码,使用关键字namespace和命名空间标识符(命名空间名字)构建用户命名空间,空间的范围用一对花括号限定,如下所示:namespace
11、Hello/默认情况下命名空间名与解决方案名相同 3类类 类必须包含在某个命名空间中(例如namespace Hello),使用关键字class和类标识符(类名,默认为Program)构建类,类的范围使用一对花括号限定,如下所示:class Program 4Main()方法方法 每个应用程序都有一个执行的入口,指明程序执行的开始点。C#应用程序的入口点用Main()方法标识,程序的执行总是从Main()方法开始,后面的括号中即使没有参数也不能省略。一个C#应用程序必须有、而且只能有一个Main()方法。5方法中的方法中的C#代码代码 在方法体(方法的左右花括号之间)中书写实现方法逻辑功能的代
12、码。1严格区分大小写严格区分大小写 C#是一种大小写敏感的语言,字母大小写不同的标识符被视为不同的标识符。例如“name”和“Name”在C#中就是不同的标识符。2语句书写规则语句书写规则(1)每个语句都必须用一个分号(“;”)作为结尾。(2)C#是一种块结构的编程语言,所有的语句都是代码块的一部分。每个代码块用一对花括号(“”、“”)来界定,花括号本身不需要使用分号来结束。一个代码块中可以包含任意多行语句,也可以嵌套其它代码块。(3)标点符号必须是英文标点符号。(4)C#允许在同一个代码行上书写多个语句。(5)作为目前通行的程序代码标准书写规则,代码块的书写广泛采用了缩进格式3注释信息注释信
13、息 注释信息是程序中不参与执行的部分,仅用于对程序代码加以说明,编译时会将其完全忽略。恰当地使用注释有助于提高程序的可读性,便于软件维护和协作开发。(1)单行注释 每一行中双斜杠“/”后的任何内容均作为注释信息,该方式只对本行生效。(2)多行注释 从“/*”开始,到“*/”结束,其中的所有内容(可以是一行,或多行)均为注释信息,但注释文字中必须不包含“*/”。通常编写的程序都需要实现一种交互:程序接收一定的数据输入,并对所输入的数据进行处理,最后将处理的结果反馈给用户,也就是输出。1Console.WriteLine()方法方法WriteLine()方法的作用是将信息输出到控制台,并在信息的后
14、面添加一个回车换行符来产生一个新行。2Console.Write()方法方法Write()方法和WriteLine()方法类似,都是将信息输出到控制台,但Write()方法输出信息到屏幕后并不产生一个新行,即换行符不会连同输出信息一起输出到屏幕上,光标将停留在所输出信息的末尾。3Console.ReadLine()方法方法ReadLine()方法用来从控制台读取一行数据,一次读取一行字符的输入,并且直到用户按下Enter键才会返回,但ReadLine()方法并不接收Enter键。如果ReadLine()方法没有接收到任何输入,或者接收了无效的输入,那么ReadLine()方法将返回null。4Console.Read()方法方法Read()方法的作用是从输入流(控制台)读取下一个字符,Read()方法一次只能从输入流读取一个字符,并且直到用户按Enter键才会返回。当这个方法返回时,如果输入流中包含有效的输入,则返回该字符对应的Unicode编码十进制值;如果输入流中没有数据,则返回-1。如果用户输入了多个字符,则Read()方法只返回用户输入的第1个字符,但是,用户可以通过多次调用Read()方法来获取所有输入的字符。