版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络编程基础教材:《C#程序设计教程》任课教师:段赵磊上课时间:1、2、3、7、8、9、10、11、15、16、17周周二第二大节1、3、7、8、9、10、11、15、16周周四第五大节单双周都上电教楼404实验时间:第1、2、3、9、10、11、12、13、15、16周周四中午12:10-13:50网络运维13-1、2第1、2、3、7、8、9、10、11、16、17周周四第四大节16:10-17:50网络工程13-1实验楼302
第1章C#代码编写基础5Ch1C#代码编写基础1.1C#语言和VS2012开发环境1.2C#项目的组织1.3控制台应用程序1.4Windows窗体应用程序1.5WPF和Silverlight应用程序1.6独立应用程序和浏览器运行的应用程序1.1C#语言和VS2012开发环境1.1.1C#语言和.NET框架1.1.2VS2012开发环境71.1.1C#语言和.NET框架C#(读作“Csharp”)是一种完全面向对象的基于.NET框架的高级程序设计语言。C#的开发背景
C#是从C和C++演变而来的,并且结合了C/C++的强大功能、Java的面向对象特性和VisualBasic的易用性,从而成为一种简单的类型安全、面向对象的编程语言,也是.NET公共语言运行环境的内置语言。C#代码可以从公共语言运行库的服务中获益。C#是唯一为.NETFramework设计的语言,是用于.NET开发的最好选择。C#语言的特点C#语言的特点.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。C#具有如下的特点:专门为快速编写在.NET框架上运行的各种应用程序而设计。语法简洁精心的面向对象设计与Web的紧密结合可靠的安全性与错误处理可靠的版本控制技术灵活性和兼容性。1.1.1C#语言和.NET框架Microsoft.NET框架定义Microsoft.NET框架是生成、运行.NET应用程序和WebService的组件库。包含公共语言运行库类库类库为开发和运行.NET应用程序提供了各种支持类库是与公共语言运行库紧密集成的可重用的类的集合。1.1.1C#语言和.NET框架Microsoft.NET框架特点:一种框架多种语言支持C#语言、VB.NET语言、C++和C++.NET语言、F#语言等高级语言注意用基于.NET框架开发的应用程序,不论使用的是哪种高级语言,均必须在安装了.NET框架的计算机上才能运行。这种架构与Java应用程序必须由Java虚拟机支持相似。什么是.NET
.NET框架(.NETFramework)是由微软开发,一个致力于快速应用开发、平台无关性和网络透明化的软件开发平台。.NET包含许多有助于互联网和内部网应用迅捷开发的技术。.NETFramework可以创建Windows应用程序、Web应用程序、Web服务和其他各种类型的应用程序。.NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。.NET框架的目的是便于开发人员更容易地建立Web应用程序和Web服务,使得Internet上的各应用程序之间,可以使用Web服务进行沟通。
.NET平台介绍.NET平台介绍1.1.1C#语言和.NET框架Microsoft.NET框架--公共语言运行库公共语言运行库是.NET框架的基础,为多种编程语言提供统一的运行环境。1.1.1C#语言和.NET框架Microsoft.NET框架--公共语言运行库中间语言IL使用.NET框架提供的编译器可直接将源程序编译为.EXE或者.DLL文件,此时编译出来的程序代码并不是CPU能直接执行的机器代码,而是一种中间语言IL代码(MicrosoftIntermediateLanguage,MSIL)使用中间语言代码的优点可以实现平台无关性,即与特定的CPU无关;只要能将某种语言编译为IL代码,就可以实现这些语言之间的交互操作。1.1.1C#语言和.NET框架即时编译执行时CLR会将需要的IL代码装入内存,通过JIT编译器(Just-In-Time)将其编译成所用平台的CPU可直接执行的机器代码。即时编译并不是一次把整个应用程序全部编译完,而是只编译它调用的那部分代码所在的模块。为什么要采用即时编译JIT编译器可以有效地提高系统的性能。可利用现有CPU和GPU硬件提供的功能即时生成优化后的可执行代码。1.1.2VS2012开发环境VS2012开发环境1.安装VS2012速成版(ExpressEdition)--免费专业版(ProfessionalEdition)旗舰版(UltimateEdition)--本书调试用的环境2.安装VS2012SP33.配置VS2012开发环境的界面风格(可选)深色浅色1.1.2VS2012开发环境1.2C#项目的组织1.2.1命名空间1.2.2using关键字1.2.3Main方法1.2.4代码注释1.2.5通过断点调试C#程序1.2.6C#代码编写命名规范1.2C#项目的组织C#源文件的扩展名为.cs,如Welcome.cs。一个C#源文件中一般只包含一个类【建议这样做】,但也可以包含多个类,文件名和类名可以相同【建议相同】,也可以不同【包含多个类时一般不和类名相同】。调试环境下:项目编译后生成的文件默认保存在项目的bin\Debug文件夹下。1.2.1命名空间命名空间是对类的一种划分,类似于目录和文件的划分形式。命令空间是一种逻辑划分,而非物理上的存储分类。命名空间命名空间命名空间命名空间命名空间命名空间命名空间命名空间类类类………………1.2.1命名空间静态方法调用命名空间.命名空间….命名空间.类名.静态方法名(参数,…);例如:System.Console.WritleLine(”HelloWorld!”);实例方法调用①实例化:命名空间…命名空间.类名<实例名>=new类名称(参数,…)②方法调用:实例名.方法名(参数…)例如:System.Text.StringBuilderb=newStringBuilder(); b.Append(“abcd”);
1.2.2using关键字using关键字指定引用的命名空间,例如:usingSystem.Windows.Forms;简化命名空间的层次表达形式,例如:usingWinForm=System.Windows.Form;作为语句,定义一个范围。程序执行到“}”时,就会自动释放using后小括号中创建的对象例如:using(TextWriterw=File.CreateText("test.txt"))
{w.WriteLine("Lineone");w.WriteLine("Linetwo");w.WriteLine("Linethree");
}1.2.3Main方法Main方法要求应用程序入口方法名规定为Main。必须声明为publicstatic返回值只能是void或者int。可以放在任何一个类中。1.2.4代码注释常规注释方式单行注释:以“//”符号开始,任何位于“//”符号后的本行文字都视为注释块注释:以“/*”开始,“*/”结束。任何介于这对符号之间的文字块都视为注释。XML注释方式“///”符号是一种XML注释方式在用户自定义的类型如类、接口、枚举等或者在其成员上方,或者命名空间的声明上方连续键入3个斜杠字符可以在键入方法名和参数的过程中看到用XML注释的智能提示。1.2.5通过断点调试C#程序断点调试是编程人员必备素质!!!!利用断点查找程序的逻辑错误,是常用的手段之一1.设置和取消断点单击某代码行左边的灰色区域。单击设置,再次单击取消设置。鼠标右击某代码行,选择【断点】
【插入断点】或者【删除断点】。单击某代码行,直接按<F9>键进行设置或取消设置。2.利用断点调试程序按<F5>执行到断点,观察后再按<F5>执行到下一断点<Shift>+<F5>键终止调试。1.2.6C#代码编写命名规范类名、方法名和属性名全部使用Pascal命名法,即所有单词连写,每个单词的第一个字母大写,其他字母小写。例如HelloWorld、GetData等。变量名、一般对象名、控件对象名以及方法的参数名全部使用Camel命名法,即所有单词连写,但是第一个单词全部小写,其他每个单词的第一个字母大写。例如:userName、userAge等。如果是私有字段,为了和具有相同名字的属性名区分,私有的字段名也可以用下划线(“_”)开头,例如属性名为Age,私有字段名可以为age或者_Age。1.3控制台应用程序1.3.1控制台应用程序的输入与输出1.3.2在控制台应用程序中输出格式化数据1.3.1控制台应用程序的输入与输出控制台输出Console.Write();把各种类型的数据或对象转换成字符串写入标准输出流Console.WriteLine();与Write的区别:自动输出回车、换行符(“\r\n”);例如intage=18;strings="abc";Console.Write(age);Console.Write(s);Console.WriteLine(age);Console.WriteLine(s);1.3.1控制台应用程序的输入与输出控制台输入Console.ReadKey();标准输入流读取用户按下的字符或功能键。例如:ConsoleKeyInfoc=Console.ReadKey();Console.ReadLine();从标准输入流读取一行字符。例如:
strings=Console.ReadLine();1.3.1控制台应用程序的输入与输出快速键入C#代码方法1:连续按两次<Tab>键方法2:在要插入代码段的位置处,用鼠标右击选择“外侧代码”的办法插入代码段。例如:键入“for”三个字母后,连续按两次<Tab>键,观察系统自动插入的代码段。1.3.2在控制台应用程序中输出格式化数据在Console.Write和Console.WriteLine方法中,可直接定义数据转换为字符串后的输出格式Console.WriteLine("格式化表示",参数序列);Console.Write("格式化表示",参数序列);例如:intx=10,y=20,z=30;//输出10+20+30=60Console.WriteLine("{0}+{1}+{2}={3}",x,y,z,x+y+z);//输出60=20+30+10Console.WriteLine("{3}={1}+{2}+{0}",x,y,z,x+y+z);1.3.2在控制台应用程序中输出格式化数据{N[,M][:格式码]}格式化输出形式N—从零开始的整数,表示第几个参数。M—可选参数,整数,表示最小长度。若参数N的长度小于M,就用空格填充;如果M为负,则左对齐;如果M为正,则右对齐;格式码—可选参数,格式化代码样式。格式码:有默认位数,可用整数指定位数;
C—货币形式、D—十进制形式、F—固定精度形式、E—指数形式、N—用逗号分隔千位数字、P—百分比形式、X—十六进制形式占位符:0—强制占位符、#—有效占位符1.3.2在控制台应用程序中输出格式化数据利用string.Format方法格式化字符串先用String.Format方法拼接字符串,再用WriteLine方法输出;既可以在控制台应用程序中使用,也可以在其他应用程序中(WinForm、WPF等)使用。例如:inti=123;//d6表示不够6位左边补零strings=string.Format("{0:d6}",i); Console.WriteLine(s);1.3.2在控制台应用程序中输出格式化数据3.利用ToString方法格式化字符串如果是一个变量,使用ToString方法更简单。Console、WinForm、WPF、Silverlight、ASP.NET等应用程序都可以利用string.Format方法或者ToString方法定义数据的格式。例如:intn1=12;strings1=n1.ToString("X4");//X格式表示用十六进制输出。结果为:000Cstrings2=n1.ToString("d5");//结果:00012
4.控制台应用程序示例【例1-1】演示控制台应用程序的基本设计方法,以及如何在一个解决方案中包含多个应用程序项目。Console.Write("请输入x和y(例如12,15),然后按回车键:");strings=Console.ReadLine();string[]a=s.Split(',');intx=int.Parse(a[0]);inty=int.Parse(a[1]);intz=ClassLibraryExample.MyClass.Multiplication(x,y);Console.WriteLine("x*y={0}",z);Console.WriteLine("请按任意键结束程序。");Console.ReadKey();1.4Windows窗体应用程序1.4.1Windows窗体应用程序的特点1.4.2Windows窗体应用程序的启动和退出1.4.3窗体的创建、显示、隐藏和关闭1.4.4消息框(MessageBox)1.4.5利用WinForm控件实现输入和输出1.4.6错误提示(ErrorProvider)1.4.1Windows窗体应用程序的特点Windows窗体应用程序是在WindowsXP操作系统上开发客户端应用程序的主要开发模型,这种开发模型利用GDI+和操作系统交互。Windows窗体应用程序现状WinForm已有多年的历史,其技术高度成熟,如果开发不包含动画、多媒体(音频视频)以及三维图形等高级功能的程序,使用WinForm应用程序可获得比较高的开发效率和运行性能。。1.4.1Windows窗体应用程序的特点GDI(GraphicsDeviceInterface,图形设备接口)是Windows2000操作系统内核提供的功能,提供二维图形和文本处理功能以及功能有限的图像处理功能没有三维图形和音频视频等多媒体处理功能。随着Windows2000操作系统退出历史舞台,使用GDI技术的开发人员也越来越少。GDI+是WindowsXP操作系统内核提供的功能,在GDI的基础上增加了一套基于.NET框架的编程接口,从而让我们能使用C#快速实现窗体界面绘制和绘图功能。GDI+没有GPU硬件加速功能,所有图形图像处理功能全部都是靠软件来实现。1.4.2Windows窗体应用程序的启动和退出窗体应用程序的启动和停止使用Application类提供的静态方法来启动、停止应用程序Run方法:用于在当前线程上启动应用程序消息循环,并显示窗体。Exit方法:用于停止消息循环。观察Program.cs中的Main方法。1.4.3窗体的创建、显示、隐藏和关闭如何在代码中打开一个新窗体Form2fm=newForm2();fm.Show();
或者Form2fm=newForm2();fm.ShowDialog();观察Show与ShowDialog之间的区别如何在代码中隐藏一个窗体“无模式”窗口:调用Hide方法隐藏。this.Hide();隐藏其他窗体可以调用实例名的Hide方法,例如:myForm.Hide();窗体隐藏后,其实例仍在,可重新调用Show方法再次显示1.4.3窗体的创建、显示、隐藏和关闭如何在代码中关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市县(2024年-2025年小学五年级语文)统编版小升初真题(下学期)试卷及答案
- 4 雷电监测装置闪电定位仪的技术参数有哪些
- 七年级语文上册教学计划进度表
- 区域医疗中心“卓越青年医师”定向进修培养计划申请表
- 多用途运动包产业运行及前景预测报告
- 女式紧身马甲产业规划专项研究报告
- 塑料制购物袋产业规划专项研究报告
- 人教版英语八年级下册 Unit 9-10综合练习题
- 手持裁纸刀市场需求与消费特点分析
- 医务人员健康教育培训
- 与某地政府医疗领域合作框架协议
- 外卖骑手劳动权益保障机制
- 双层罐改造施工方案
- 校车驾驶员安全教育培训
- 人教版五年级上册小数除法竖式计算练习练习400题及答案
- 人教版三年级上册数学计算题专项练习1000题
- 2024高考英语应用文写作真题手把手:2021新高考英语分析素材
- 小学劳动教育一年级第一单元2《洗漱》教学设计
- 吊篮施工验收标准及规范
- 神奇的大脑-婴儿大脑发展课件
- 设施农用地可行性研究报告
评论
0/150
提交评论