




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章 Visual Studio 2005和C#.NET 概述 C#.net程序设计 1 C#.NET程序设计 本章主要内容 lVisual Studio 2005 .NET 框架和C# 语言简介 l使用VS2005创建C#控制台应用程序 ,Windows窗体应用程序 lC#面向对象程序主要结构:类,对 象,语句与方法等简介 l使用VS2005运行程序调试 C#.NET程序设计 Visual Studio 200 5 Visual Studio 是一套完整的开发工具集, 用于生成桌面应用程序、ASP.NET Web 应用 程序、移动应用程序等多种应用程序,是 Visual C#、C+等多种语言所共同使用的集成 开发环境 (IDE)。利用此集成开发环境可以创建 混合语言解决方案,为熟悉不同语言的开发人 员的编程提供极大的便利。 VS .NET 框架和C#语言简介 C#.NET程序设计 NET框架(Framework ) .NET 框架是微软支持下一代应用程序的内部 Windows 组件。 .NET框架由三个主要部分组成: l公共语言运行库(CLR):公共语言运行库管理内 存、线程执行、代码执行、代码安全验证、编译以及其 他系统服务。 l.NET框架类库 :.NET框架类库提供了统一的、面向 对象的、分层的和可扩展的类库集,使用它可以方便地 开发传统的命令行或图形用户界面 (GUI) 应用程序等多 种应用程序。 lASP.NET :ASP.NET 建立在 .NET框架 的编程类 的基础上,为 Web 应用程序模型提供了一组可简化 Web 应用程序生成的控件和基础结构(如Web窗体和 Web服务)。 VS .NET 框架和C#语言简介 C#.NET程序设计 C#语言简介 C#从C和C+派生而来,因为C#是近期发 展起来的,所以吸取了C、C+,Java以及 Delphi和Visual Basic等语言的优点,并解决了 它们的问题。具有简单,强大灵活,类型安全和 面向对象等优点.C#是惟一为.NET框架设计的 语言,能使用.NET框架代码库提供的每种功能 。 VS .NET 框架和C#语言简介 C#.NET程序设计 一个简单的欢迎程 序。 创建HelloWorld控制台应用程序步骤 :略. 代码如下: 其中: / 注释内容 用两个斜杠表示注释的开始,直到该行的结尾注释 结束。 using System; namespace HelloWorld /声明命名空间 class Program /程序开始类 static void Main(string args) /Main方法 /向控制台输出 Console.WriteLine(“欢迎使用C#.NET程序设 计“); 编写控制台简单欢迎程序 C#.NET程序设计 命名空间 命名空间(Namespace)的宗旨是为各 种标识符(如类名)创建一个已命名的容器 。同名的两个类如果在不同的命名空间 中,相互是不会混淆的。 C#.NET程序设计 命名空间定义 命名空间使用关键字namespace声明。定义格式 如下: namespace 1 . type-declarations 。例如HelloWorld项目Program.cs代码: namespace HelloWorld class Program 即使未显式声明命名空间,即定义class前面没有 namespace,例如: class GlobalClass / 系统也会为该GlobalClass类创建默认命名空间。 类型的完全限定名是命名空间.类型名,例如Program 类的完全限定名是:HelloWorld.Program, 任何类型的完 全限定名必须是唯一的。 命名空间 C#.NET程序设计 嵌套的类和命名空间 。 namespace N1 / N1 class C1 / N1.C1(该C1类的完全限定名) class C2 / N1.C1.C2(该C2类的完全限定 名) namespace N2 / N1.N2 class C2 / N1.N2.C2(该C2类的完全限定 名) 在此代码中使用了两次 C2 类名。但是,完全限定名 是唯一的。第一个类名在 C1 内声明;因此其完全限定名 是:N1.C1.C2。第二个类名在命名空间 N2 内声明;因此 其完全限定名是:N1.N2.C2。 命名空间 C#.NET程序设计 使用命名空间 访问一个类型有两种方法:使用该类型的完全限 定名和不使用完全限定名。 l使用该类型的完全限定名,例如Console类是 System命名空间的,使用Console类的方法 WriteLine来输出消息到屏幕的代码如下: System.Console.WriteLine(“欢迎使用C#“); l不使用完全限定名: 大多数C# 应用程序从一个 using 指令节开始,即 使用using关键字+命名空间列出应用程序将会频繁使 用的命名空间,避免每次使用其中包含的方法时都要 指定完全限定的名称。通过在程序开头包括行: using System; 程序中可以使用Console类的不完全 限定名,而无需使用完全限定名System.Console。 代码如下: Console.WriteLine(“欢迎使用C#“); 命名空间 C#.NET程序设计 命名空间与程序集 l程序集(assembly)是包含.NET框架或其他开发 者所写的代码库。某些情况下,一个命名空间中的类 存储在同名的一个程序集(如System命名空间存储在 System.dll程序集),而有的程序集容纳了多个命名 空间。使用一个命名空间的类型时,还需要引用包含 了该命名空间的程序集(以.exe或.dll为后缀的文件 )。 l在“解决方案资源管理器”中,展开HelloWorld项 目的“引用”节点,可以看到这项目引用System, System.Data等3个程序集,这是新建一个项目时自 动添加。可以用鼠标右击“引用”节点来添加新的程序 集。 命名空间 C#.NET程序设计 Windows窗体应用 程序 l在前面创建的HelloWorld解决方案 中添加一个Windows窗体应用程序项 目步骤: 略 l使用可视化设计界面向Windows窗 体Form1添加3个控件,如图。 创建Windows窗体应用程序 C#.NET程序设计 添加按钮执行代码 双击窗体上的“确定”按钮。随后,会在“代码和文本 编辑器”窗口中打开Forml.cs源代码文件,在Forml类中自 动添加了一个名为btnOK_Click的方法。 在btnOK_Click方法中输入以下MessageBox语句。 完成后的方法应该像下面这样: private void btnOk_Click(object sender, EventArgs e) MessageBox.Show(“您好!“ + txtUserName.Text); 以上代码中MessageBox 是 System.Windows.Forms的类,它有个静态方法Show ,用来弹出一个消息框显示方法中参数值,这里是显示“ 您好!“ + txtUserName.Text(即文本框输入的用户名) 。 创建Windows窗体应用程序 C#.NET程序设计 C#面向对象程序主要 结构 lC#是面向对象语言,对象是给定数据类型的实例 ,一个整数(如10)是整数类型的的实例。面向对象最 重要的类型是类(class), 主要有两种形式的类: .Net框架提供的庞大的类库和用户为实现应用程序功 能自定义的类。 l类是由数据成员和方法成员构成,C#程序主要由 类和对象组成。下面通过计算圆面积的程序来说明面 向对象C#程序的主要结构,运行机制。 C#.NET程序设计 编写计算圆面积的 程序 编写根据输入半径r计算圆面积的控 制台应用程序,根据通过控制台输入半 径,计算并显示该半径r的圆面积。 创建新项目CircleArea,将 Program.cs的源文件的内容替换为下面 的代码: 面向对象C#程序主要结构简介 using System;/程序使用的命名空间(Console类所在的命名空间) namespace CircleArea/MyCircle类所属的命名空间CircleArea class MyCircle double circleR;/字段半径 public MyCircle(double dblR)/构造函数 circleR = dblR;/初始化字段半径 public double CircleArea()/计算圆面积实例方法 double dblArea = Math.PI * circleR * circleR;/赋值语句 return dblArea; public static double StaticCircleArea(double dblR)/计算圆面积 double dblArea = Math.PI * dblR * dblR; return dblArea; class Test static void Main()/程序运行入口主函数 double r;/声明局部变量 Console.WriteLine(“请输入圆半径:“); string strInput = Console.ReadLine();/调用类Console静态方法 r = double.Parse(strInput); /字符串类型转为实数double类型 MyCircle aCircle = new MyCircle(r);/创建MyCircle对象(实例) /通过实例调用计算圆面积实例方法 double aArea = aCircle.CircleArea(); Console.WriteLine(“半径0的面积=1“, r, aArea); /通过MyCircle类调用计算圆面积静态方法 aArea = MyCircle.StaticCircleArea(r); Console.WriteLine(“半径0的面积=1“, r, aArea); C#.NET程序设计 C#程序的构成 l项目CircleArea的Program.cs代码 定义了两个类(class)MyCircle和Test ,其中类MyCircle定义半径的数据字段 和三个方法,类Test只定义了一个入口 主函数Main。 面向对象C#程序主要结构简介 C#.NET程序设计 Program.cs代码说 明: lusing System;语句可以简化System命名空间 类的使用,无需使用System命名空间Console类的 完全限定名。 lnamespace CircleArea;表示大括号中定义 的类型属于命名空间CircleArea。因此可以看出命名 空间CircleArea包含MyCircle和Test类。 lclass Test定义了Test类,Test类包含方法 static void Main(),它定义了程序运行入口主 函数,应用程序从Main()主函数开始执行。 面向对象C#程序主要结构简介 C#.NET程序设计 Program.cs代码说 明 lclass MyCircle定义了MyCircle类,类主要由 数据和方法组成,其中: double circleR;语句定义了用于存放半径 的数据字段。 public MyCircle(double dblR)定义了构 造函数,与类名相同的方法是构造函数。 public static double StaticCircleArea(double dblR)在MyCircle 类中定义了静态方法StaticCircleArea。方法有 静态方法与实例方法,使用static定义的是静态 方法,否则是实例方法。 public double CircleArea()在MyCircle 类中定义了实例方法CircleArea()。 面向对象C#程序主要结构简介 C#.NET程序设计 方法定义和调用 方法是包含一系列语句 的代码块。每个语句执行指令都是在方 法中完成的。程序的方法不能单独存在 ,一般是在类或结构中声明,声明时需 要指定访问级别、返回值、方法名称以 及任何方法参数。方法参数放在括号中 ,并用逗号隔开。空括号表示方法不需 要参数。 面向对象C#程序主要结构简介 C#.NET程序设计 MyCircle类的实例方法 CircleArea定义如下: public double CircleArea()/计算圆面积实例方法 double dblArea = Math.PI * circleR * circleR;/赋值 语句 return dblArea; 定义CircleArea方法的第一行具有以下含义: l指定访问级别是public,表示其他对象(如Test类)可 以访问该方法。 l返回值的数据类型是double双精度数值类型。 l方法名是CircleArea l方法不需要参数。 面向对象C#程序主要结构简介 C#.NET程序设计 方法CircleArea定义 : 大括号内是方法体,既方法的内容。其中 ldouble dblArea = Math.PI * circleR * circleR; 说明如下: lMath.PI是System.Math类的静态公共字段表示 圆的周长与其直径的比值。 l表达式Math.PI * circleR * circleR是根据 circleR半径数据字段值计算圆面积。 l声明double类型的变量dblArea并将计算圆面积 结果赋值給dblArea。 l语句return dblArea;是将dblArea变量中圆面积 返回调用方法的对象。 面向对象C#程序主要结构简介 C#.NET程序设计 静态方法 StaticCircleArea MyCircle类的静态方法StaticCircleArea, 除了是static静态方法和具有方法参数double类 型dblR外,其它均与方法CircleArea,定义如下 : public static double StaticCircleArea(double dblR) /计算圆面积静 态方法 静态方法与实例方法区别是使用static定义, 调用静态方法使用类而非实例,因而无需创建实 例,如MyCircle.StaticCircleArea(r),而调用实 例方法必须先创建该类实例。 面向对象C#程序主要结构简介 C#.NET程序设计 MyCircle类的构造函 数 lMyCircle类的构造函数定义如下: public MyCircle(double dblR) circleR = dblR;/初 始化字段半径 构造函数是一个与类同名的方法,是创建类的实例时 调用,使用new 关键字+构造函数创建类的实例,例如: MyCircle aCircle= new MyCircle(5); / aCircle是MyCircle类的实例 l该语句是将5作为参数调用MyCircle类构造函数,构 造函数将5传递给dblR,然后执行赋值语句 circleR=dblR;数据字段circleR赋值为5,执行构造函数 后就返回所创建的MyCircle实例aCircle。因此实例 aCircle的半径数据字段circleR为5,通过aCircle实例可 以调用实例方法aCircle.CircleArea();该方法使用实例 aCircle 的circleR(值5)计算圆面积。 l注意:如果CircleArea方法不指定访问级别public, 默认是private, aCircle.CircleArea()将无法执行。 面向对象C#程序主要结构简介 C#.NET程序设计 Test类 Test类中有一个程序运行入口主函数static void Main(),应用程序从Main()主函数开始执行。Main() 方法的主要语句说明如下: lstring strInput = Console.ReadLine();调用类 Console静态方法ReadLine()来获取键盘输入的半径 ,输入数值按回车后,ReadLine()方法返回字符串 类型的值给变量strInput。 lr = double.Parse(strInput); 使用double.Parse 方法将字符串变量strInput转为实数double类型,赋 给double类型变量r。 lMyCircle aCircle = new MyCircle(r);使用r参数 调用构造函数创建MyCircle实例,通过构造函数将r 赋值实例的半径字段circleR。 面向对象C#程序主要结构简介 C#.NET程序设计 Test类 lConsole.WriteLine(“半径0的面积=1“, r, aArea);语句将r替换0,aArea替换1,如果半径为10 ,则将在屏幕显示“半径10的面积 =314.159265358979”。 ldouble aArea = aCircle.CircleArea();调用 CircleArea实例方法,它根据实例半径字段circleR计 算圆面积,并将其返回aArea。 laArea = MyCircle.StaticCircleArea(r);该语句是 调用MyCircle类的静态方法StaticCircleArea,调用 静态方法使用类名(这里是MyCircle),不能使用实 例名aCircle调用。 l入口主函数Main()静态方法是程序的运行开始的 第一个方法, 程序随着Main()方法结束而结束。 面向对象C#程序主要结构简介 C#.NET程序设计 程序调试 程序调试过程分为两步。 l 首先,纠正编译时错误。这些错误 可以包含不正确的语法、拼错的关键字 和键入不匹配。 l纠正编译语法错误后,接下来,使用 调试器检测并纠正在运行时检测到的逻 辑错误和语义错误等问题。 C#.NET程序设计 使用调试器运行调试 程序 程序调试 l程序运行可采用程序调试运行或不调试运 行。 l从“调试”菜单中选择“开始执行(不调试 )”或按Ctrl+F5, 将不调试地运行程序。 l从“调试”菜单中选择“启动调试”(或按F5 )、“逐语句”(或F11)或“逐过程”(或F10 )等方法可以开始程序调试运行。 C#.NET程序设计 查看调试器中的数 据 l使用数据提示功能,在程序运行中断模式下的源 窗口中,将鼠标指针置于当前范围内的任何变量上。 屏幕上显示数据提示。如果要继续监视某个变量,可 以从数据提示中将该变量添加到“监视”窗口。查看数 据提示时,用鼠标右击,然后在快捷菜单中单击“添 加监视”。变量即添加到“监视”窗口中。 l使用调试器变量窗口,在中断执行时,可以检查 值,修改变量,或检查程序状态。从“调试”菜单中选 择“窗口”,然后选择要显示的变量窗口的名称,它们 是“自动”、“局部变量”、“监视”。 在“监视”窗口中 ,在“名称”列可以添加需要的变量或表达式。 程序调试 C#.NET程序设计 C#Wi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年定期保洁服务用工合同范本
- 2025版体育赛事居间组织合同体育产业发展与风险防范
- 2025版汽车石材运输及装卸服务合同范本
- 2025版智能便利店合伙人合作协议及供应链管理细则
- 2025版能源企业人力资源派遣与电力运维服务协议
- 2025版蔬菜产业投资基金合作协议
- 2025版企业人力资源信息系统建设咨询合同
- 2025年度企业财务外包服务与财务信息化升级合同
- 2025版智能交通管理系统承包合同范本下载
- 2025年度蔬菜种植基地与农产品检测机构合作协议
- 外科微创手术管理制度
- 2024年全国《考评员》专业技能鉴定考试题库与答案
- 原材料不合格品处理流程
- 秀米推文培训课件
- 阜外体外循环手册
- 天津市红桥区2024-2025学年七年级上学期10月期中考试语文试题
- DB11T 856-2012 门牌、楼牌 设置规范
- 40m预制箱梁汽车吊双机台吊专项方案(经典)
- 2024年公开招聘事业单位工作人员报名登记表
- 全国人力资源和社会保障法律法规知识网络竞赛题及答案
- GB/T 44335-2024精细陶瓷涂层试验方法基于Stoney公式的陶瓷涂层内应力测定
评论
0/150
提交评论