第3章VisualC#程序设计基础解析_第1页
第3章VisualC#程序设计基础解析_第2页
第3章VisualC#程序设计基础解析_第3页
第3章VisualC#程序设计基础解析_第4页
第3章VisualC#程序设计基础解析_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Web应用程序开发教程第3章 Visual C#程序设计基础课程描述C#是开发ASP. NET应用 程序的主流语言,本 书后面的实例都是使 用C#语言来编写的。 本章将结合大量实例 程序介绍C#语言的基 础知识,为读者开发 ASP. NET应用系统奠定 基础。本章知识点C#语言基础 口数据类型 常量和变量 口运算符和表达式 口流程控制语句 口类和对象3. 1 C#语言基础 c#语言的基本特点 NET Framework和C#使用Visual Studio 2005编写一个简单的C#例子3. 1. 1 C#语言的基本特点 C#的英文发音为C Sharp,它是一种最新的、面向对象1=1的程序设计语

2、言,程序员可以使用它方便、快速地编写各种基于MicrosoftNET平台的应用程序。NET将Internet本身作为构建新一代操作系统的基础 ,并对Internet和镇屣系统的丧计思植连行T延伸, 使开发人员能够创建出与设备无关的应用程序,更容 易地实现Internet连接。口可以使用Visual Studio开发C#应用程序。C#语言具有如下主要特点1.语法简洁 2.更完善的面向对象程序设计机制 3.与Web应用的紧密3. 1. 2 NET Framework和C#至诗.ew ST dlL MSI rt5:!5- .NET Framen orkF必?;遷售迄吟空:女全、H安兰収、:HT Fn

3、nwd:擬三WJ二二已王1c#语言的编译和运行过程(1) 在Visual Studio中创建Visual C#项日,其中包括C#源文件、资源和引用等。C#源文件的扩展名为cs,可以定义类、接口、窗体等;资源可以是图像、图标、文本文件或字符串等;引用是Microsoft公司或第3方提供的组件,通常为.dll. .ocx和tlb等类型。(2)使用C#编译器对Visual C#项目进行编译,得到 Microsoft中间语言(MSIL),这是一组可以有效地转 换为本机代码且独立于CPU的指令。(3) Visual C#程序运行在NET Framework平台上,由 公共语言运行库雄供文持,同时使用.N

4、ET Framework 提供的类库,将Microsoft中间语言转换为本地计算机 代码,最终在操作系统上运行。3. 1. 3 使用Visual Studio 2005 在“开始”菜单中依次选择“程序” / Microsoft Visual Studio2005 / Microsoft Visual Studio 2005,启动Microsoft Visual Studio 2005 窗口。新建项目口在最近打开的项目列农下面,提供了打开和创建网站的超级链接 O单击“创建”标签后面的“项目”超级链接,打开“新建项目 ”对话框。控制台应用程序项目Visual Studio窗口1.窗体设计及代码编辑

5、器2.解决方案资源管理器3.属性窗口色亠3J丨因员二永N方宴-CMp13运行程序口在菜单中选择“调试” / “启动调试”,或在工具栏 中单击“启动调试”按钮可以运行当前的项目。4在程序中添加注释(1) 注释符/(2) 注释符/*/(3) XML文档注释标记(1) 注释符/文件名:Program.cs/描述:主程序文件/作者:启明星/日期:20092丄8int a = 0; /声明一个整型变量a,初始值为0(2) 注释符/*/ * 文件名:Program.cs描述:主程序文件作者:启明星日期:20092丄8 */int a = 0; /*声明一个整型变量6 初始值为0*/ int b /*变量b

6、*/ = 0;(3) XML文档注释标记/ IIIIII class ProgramIII /主函数III III args命令行参数v/param static void Main(string args)intSystcm.lnt32有符号32位滋散.取(f(范丽为2.147.483.648-2.147.483.647ulongSysicm.Uln(64无符号64位滋数.取值范II彳为0-18.446744.073.709.551.615longSys(cm.lnt64仃符兮64位滋数.収(fl范圉为 9.223372、036854775809223372036$547758 07实数类型

7、floatSystcm.Singlc32位浮点数据类型.也称为单林度数据类熨, 収値范闱为1.5 X 10一阳-34X EdoubleSystem. Double64心浮点数撫类醴.也称为戏侖度数据类空. 取值范IE为土5.0 x i(r324-i.7 x io,OTdecimalSystcm.Dcxima!128位数抵类槪上螟用J金遊或货币力面的 汁W和处理.取ffl范国人致为土 1.0 X 1沪 -7.9X l(PM布尔类醴boolSystem. Boolean布尔类型的变供只能存储布尔fttnic(JX)和 false (fi)字符类屯charSystcm.Char16 U n icod

8、 c 7 符类空【例3.1】口 byte数据类型的取值范围是0255,下面程序将验证变量越界的情况.static void Main(string args)口程序的运行结果如下:转义字符转义字符含义a警报(响铃)b退格符tTAB符V回车符v垂直TAB符f换页符n换行符eESC符反斜杠()2. 结构类型struct Employeepublic string EmpName; / 姓名 public string Sex; /性别 public int Wage; / 工资 public string IDCard; / 身份证号使用结构体口可以通过下面的语句声明一个Employee结构类型的

9、变量emp。Employee emp;可以通过aemp.结构内变量名”方式来访问结构体内的变量 例如,使用下面的语句可以为结构类型变量emp设置具体的值。emp.EmpName =小强; emp.Sex =男 emp.Wage = 3000;emp.IDCard = ”丄丄 01234567890xx;【例3.2】存EniDloy”結构类利中tttinfPhone结构类中.用千京义员T的眼话倩息.Phone结构类册何含3个成员变:,即住宅电iSHomePhone.办公电话OfficePhone和移动电MobilePhone,定义代码如下:struct Employeepublic string

10、 EmpName; / 姓名 public string Sex;/ 性别public int Wage;/ 工长public string IDCard; / 身份证号 public struct Phone public Phone phone; / 定义电话$ 可以使用下面的语句来设的住宅电话.3枚举类型口枚举类型就是能够枚举出所有取值的类型。例如,一 周有7天,可以定义一个枚举类型Days,表示周1至周 日,代码如下:enum Days Sun, Mon, Tuez Wed, Thu, Friz Sat使用枚举类型 也可以手动指定枚举元素的值。例如,下面的代码中指定枚举元素Sun的值为

11、1enum Days Sun = 1, Mon, Tue, Wed, Thu, Fri, Sat口 可以使用下面的方法来声明枚举类型的元素。Days weekday 可以使用“枚举类型名枚举元素名”的方式来引用枚举类型的元素。例 如,将变量weekday赋值为周日.代码如下:weekday = Days.Sun;3.2.2引用类型引用类型与值类型的最大区别在于,引用类型变量不直接存储所 包含的值,而是指向它所要存储的值。也就是说,引用类型变量 保存的是数据引用值的地址,这一点类似于C语言中的指针。 C#语言中包含的引用类型包括类(class)、数组(array).接 口(interface)和

12、委托(delegate)等。1. 类类是面向对象程序设计的基本单位,它既可以描述对象的辰性, 又可以定义对象的操作。关于C#语言中定义和使用类的方法,将在116小节详细介绍。这 里只介绍一个简单的定义类的实例。【例3.3】 声明类Employee,用于定义员工的信息和操作,代码如下:class Employeepublic string EmpName; / 姓名 public string Sex; / 性别 public int Wage; / 工资 public string IDCard; / 身份证号III /输出员工信息III public void PrintEmpInfo()C

13、onsole. WriteLine(EmpName); Console.WriteLine(Sex); Console. WriteLine( Wage); Console. WriteLine(IDCa rd);2. 数组 数组是包含若干相同数据类型变量的数据结构,它对应一段连续的 内存空间。在定义数组时,需要指定数组名.数组元素的数据类型 和数组的维数等信息。数组可以是一维的,也可以是多维的。声明一维数组的语法如下:v数组元索的类型v数组名 =new v数组元索的类型v数 组元素的数量关键字new用于创建新的对象。例如,定义一个整型一维数组 它包含5个数组元素,代码如下:int arr =

14、 new int5;使用数组 在声明数组对象时.可以直接对其进行初始化.例如: int arr = new int5 lr 2, 3, 4, 5;口 使用下面的语句可以设置和返回数组元素的值。arrO = 2;int a = arr2;口 在C祥语言中可以声明多维数组。例如,下面的语句声明了一个5行2列的二维整型 数组。int, array = new int5, 2;口多维数组的使用方法与一维数组类似,也可以在声明数组时定义其初始值.例如:intz array = new intJ lz 223 4, 2 , ;3. 接口【例11.41在绘制图形时都可以指定绘图使用的颜色(Color属性).

15、也需要包含 一个绘制动作(Dra硏方法)因此,可以定义一个接口ISharp,包含所有绘图类 所包含的Color属性和Draw方法,代码如下: public interface ISharp口 III III绘制图形的颜色口 III System.Drawing.Color Color get; set; 口 III 口 III绘制图形 III void Draw();口 4委托委托(delegate)相当于O+中的函数指针,但是委托是类型安全 和可靠的,它避免了C卄中由于没有释放指针而导致的资源泄露现 象,也不会因为指针指向不正确的地址而产生异常。口可以使用关键字delegate来定义委托。例

16、如,定义一个指向void 类型函数的委托,代码如下:delegate void MyDelegate();委托本身没有意义,在没有指向具体的方法前也不能被独立执行 O需要首先定义一个方法,然后将委托指向该方法,才能通过委 托调用方法。【例3.5】class Program/定义委托MyDelegate delegate void MyDelegate();/主函数static void Main(string args)vHello World*);/打印ABC的方法public static void PrintABC() Console. WriteLine(vvABCvv);5内置引用类

17、型(1) object类型(2) string类型(1) object类型可以将值类型赋给object类型的变量,此过程被称为“装箱” o 例如,下面的代码将整型变量i的值赋到object变量中。int i = 10; object obj = i;装箱的反向操作为“取消装箱”,即将object变量中的值赋到一 个值类型变量中。例如,下面的代码将object变量i的值赋到 float变量中。int j = (int)obj;(2) string类型 string类型变量的声明方式如下:string v变量名 =v初始值;例如,下面的语句中定义了一个string类型变量str,其 初始值为hel

18、lo。string str = hello;3.2.3类型转换1.隐式转换隐式类型转换是系统默认的转换方式,可以直接通过赋值的方式实现隐式类型转换. 例如:int a = 10; long b = a;在上面的代码中.int类型变量a的初始值为10,将其赋值给long类型变量b,则b的值 也等于10.2.显式转换显式类型转换也称为强制类型转换,它需要在进行类型转换时明确指定要转换的类型 例如:int a = 10; long b = (int)a;3. 3常量和变量口常量变量3. 3. 1常量在C#语言中,可以使用const关键字来声明常量,语法如下:V访问修饰符const V数据类型 常量名=V常量值;1. public访问修饰符2. private访问修饰符3. protected访问修饰符4. internal访问修饰符public const float PI = 3.1415926;3. 3. 2 变量n 在c#语言中.声明声明变量的语法如下V访问修饰符V数据类型V常量名;在前面的内容中已经介绍了一些声明变量的实例,例如声明int类型的变 量i,代码如下:int i;在声明变量的同时,可以设置变量的初始值。例如,声明int类型变量a, 其初始值为10,代码如下:int a = 10;C#变量的命名规则变量名必须以字母或下划线等

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论