欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    《DotNet程序设计》备课笔记.docx

    • 资源ID:10890595       资源大小:60.19KB        全文页数:47页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《DotNet程序设计》备课笔记.docx

    1、DotNet程序设计备课笔记-第一章 .NET概述1.1 .NET战略的产生背景和组成结构1、计算机应用平台的两次变革70年代至今,计算机应用平台发生了两次影响深远的变革,即“DOSWindowsInternet”。两次变革的影响体现在:(1)DOSWindows的平台迁移简化了计算机应用的复杂型,提供友好的操作方式,促进了计算机的应用普及。(2)WindowsInternet的变化,使各类信息服务突破本地计算机的资源限制,应用程序在Internet范围内进行通信和协作,整合最广泛的信息资源和计算资源,产生更准确、有效的服务结果。2、.NET战略的产生.NET战略是MS公司面向Internet

    2、时代的应用特点和开发需求而推行的商业解决方案,它封装了相关产品、技术规范和应用开发框架。3、.NET战略的组成结构 (1)Orchestration负责整合网络中各种应用和组件,完成流程调度、消息传递、数据交换等各种处理机制。 (2).NET Framework 提供一个用于开发和运行符合.NET技术规范应用程序的基础框架。 (3).NET Enterprise Servers是微软在.NET战略中所推行的一系列企业级服务器软件产品,如Host Integration Server; Application Center Server; Biztalk Server等等。 (4)Buildin

    3、g Block Service,由微软和第三方网络服务供应商在整个Internet上提供的公共基础服务单元(系统);如电子户政、个人事务管理、信息安全等等。1.2 .NET Framework.NET Framework是为开发和运行适应互联网时代特点的应用程序和网络服务单元所提供的基础框架。既为开发.NET程序提供基础支持,也封装了.NET程序运行的基本环境。1、.NET Framework的体系结构 .NET Framework的体系结构如图所示C#VB.NETVC+.NETJ#CLS(Common Language Specification, 公共语言规约)Web Form Windo

    4、ws Form Web ServiceDATA & XMLBase Class LibraryCLR(Common Language Runtime,公共语言运行时环境)(1)语言层:由各种支持.NET Framework框架的程序设计语言构成。(2)MSIL层:该层次封装了公共语言规约CLS,这是为不同程序设计语言编译器所制定的一致技术规范,确保编译器能够产生符合CLS的中间代码(MSIL);从而使得不同编程语言所编写的程序能够集成应用和相互协作。(3)应用模板层:该层次为开发不同类型的应用程序(Web应用、Windows应用和Web Service应用)提供开发模板和组件化支持。(4)数据

    5、管理层:为数据集存取访问和应用基于XML的数据提供支持。(5)基础类库层:该层次封装了与CLR集成的各种可重用类型集合,类库通过“命名空间”进行逻辑分组管理,类似于VC+的MFC,DELPHI的VCL和JAVA的基础类库包。(6)公共语言运行时环境是MSIL的执行环境,提供内存管理、线程管理和远程处理等核心服务。CLR的作用类似JAVA中JVM,它将MSIL编译成与运行平台相关的机器指令,从而确保.NET程序的平台无关性。2、托管代码和非托管代码CLR是进行中间代码管理和运行的基本代理,凡符合CLS的程序(中间代码)都可以运行在CLR中。通常将依赖于CLR运行的代码成为托管代码,将不依赖CLR

    6、运行的程序代码成为非托管代码。托管代码只能运行在安装有.NET Framework SDK 的计算机中。1.3 Visual Studio.NET Visual Studio.NET是微软面向.NET程序开发人员提供的集成开发环境。迄今为止主要有两个主要版本,即(1) Visual Studio.NET 2003封装了.NET Framework 1.1(2) Visual Studio.NET 2005封装了.NET Framework 2.0VS.NET 2005根据IDE中配置的开发工具和组件的不同,又分为4种发布版本,即Team System,Professinal, Standard

    7、, Express。所提供的开发配置和工程管理能力由强至若。本课程要求的实践环境为 VS.NET 2005 Standard版以上。第二章、C#语言基础2.1 C#语言特点C#是微软基于.NET Framework所推行的一种高级程序设计语言,它保留了C和C+语言的基础语法,综合了JAVA语言在易用性方面的优点,提供了开发Windows程序、Internet程序及服务组件的RAD(快速应用开发)能力。C#语言的特点主要包括:1. 支持CLS和交叉语言处理。2. 简洁易用。语法类似C+和JAVA,摈弃了C+中复杂的技术手段和语法现象,如指针、多重继承、伪编译指令等。3. 全面支持OO方法。以类和

    8、对象为基本单元组织程序结构,不存在全局变量和全局函数,程序结构更健壮合理。4. 安全可靠。提供有效的运行时错误捕获和处理机制,基于CLR的内存管理、线程管理核心服务确保了程序运行更加安全可靠。5. 与WEB的紧密结合。可以灵活应用基于.NET Framework的开发支持,简化了WEB应用开发的复杂度。6. 有效的版本管理机制。C#内置了版本控制功能,提供了对函数重载、接口特性支持等机制,便于程序的升级维护。2.2 C#程序结构以控制台程序为例(类似教材P2的例子)。using System; /导入命名空间class Welcome /声明一个类,名字为Welcomepublic stati

    9、c void Main(string args) /入口方法 Console.Write(“请输入姓名:”); /控制台输出 string n=Console.ReadLine(); /读取控制台输入后换行 Console.WriteLine(“你好,0!”,n); /控制台输出后换行 Console.ReadLine(); /等待输入,防止程序一闪而过程序说明1 导入命名空间using 命名空间命名空间是对.NET Framework 基础类库的逻辑组织形式,基础类库提供了1000多个可重用类型(如类、接口、结构体等),这些类型要在程序中使用,必须指明其存在的位置,如以“命名空间.子命名空间

    10、.类型名”,为简化代码,可通过using语句导入名字空间,则位置前缀可省略。2 声明一个类class 类名 成员声明及实现 类是C#中组织程序和数据的基本单位,所有函数和数据必须通过类进行封装,作为类的成员。3. 入口方法public static void Main(string args) (1)入口方法是应用程序的执行开始点。 (2)C#程序中必须有且仅有一个类包含入口方法,称为主动类。 (3)入口方法的声明前缀必须是:public static (4)入口方法返回值只能是void 或int (5)入口方法可以没有参数或带有字符串类型参数。4.控制台类Console 在基础类库中提供,被

    11、定义在System命名空间下,其静态(static)方法Read,ReadLine,Write,WriteLine可以进行控制台窗口中的输入、输出操作。5. C#语言大小写敏感与JAVA,C+一样。6.C#程序的注释C#注释分三种,分别是 (1)/单行注释,由/开始注释到行尾, (2)/*多行注释*/;由/*开始,注释到与之配对的*/ (3)/XML注释;通常用于对用户自定义类型进行结构化注释,在某个自定义类型声明前一行连续输入三个/,系统会自动生成XML格式的注释,注释内容会与被注释类型自动匹配。下面是对成员函数ADD的自动XML注释。/Public int Add(int i,int j)

    12、 return i+j;2.3 C#数据类型1、值类型和引用类型 C#数据类型可分为两类,分别是值类型和引用类型。 简单类型 结构类型 值类型 枚举类型 类 接口 引用类型 数组 委托(1)值类型变量的值保存在“栈”中,赋值语句传递的是变量的值; int i=10; int j=i;(2)引用类型的实例保存在“堆”中,“栈”中存储的引用类型变量代表的是对“堆”内存区的引用(指针),引用类型变量的直接赋值并没有在堆中重新创建一个新的引用实例,而是使两个引用变量指向了同一个“堆”内存区。引用类型变量必须通过new语句在堆中建立其引用的实例数据。int arr1=new int410,9,8,7;i

    13、nt arr2=arr1;值类型和引用类型的区别可总结为下表 类型比较项值类型引用类型变量内容变量中存储的值引用实例的地址(指针)内存分配位置栈堆内存分配要求长度固定长度不固定访问效率稍快稍慢生命期管理由作用域决定内存管理器根据引用次数决定是否回收2、值类型C#的值类型又可分为简单类型,结构类型和枚举类型。(1)简单类型简单类型又分为:整数类型,浮点类型,布尔类型,字符类型,字符串类型。各种简单类型的特性总结如下表。类别关键字类型说明类型符整数型sbyte1字节,有符号整数byte1字节,无符号整数Ushort2字节,有符号整数ushort2字节,无符号整数Uint4字节,有符号整数uint4

    14、字节,无符号整数Ulong8字节,有符号整数Lulong8字节,无符号整数UL浮点型float4字节,精度7位Fdouble8字节,精度15-16位Ddecimal16字节,精度28-29位M布尔型bool仅限true和false字符型char2字节,存储Unicade字符字符串型string存储多个Unicade字符序列关于使用简单类型的几点注意:1) 类型符用于对常量值的类型说明,如i=2.7F; j=5.241M;2) 整数类型的值可以用十进制和十六进制表示,十六进制整数常量书写时应加前缀“0x”,如 int i=0x1A2B;3) 字符型(char)占2字节,常量值使用,如char i

    15、Z;也可以使用十六进制(x)或Unicode前缀(u)表示字符型常量。如:char c1=x0041;char c2=u0041;4) 字符类型能隐式转换成整数类型,但整数类型不能隐式转换为字符类型。int i=A;/正确,i值为65。char b=65 /错误。5) 字符串型常量使用“”,如string i“abcd”;6) 布尔类型仅有两个可能取值,且不能与整数类型隐式转换。(2)枚举类型枚举类型是一组命名常量的集合,其作用主要是以含义的名字代表一组整数,从而提高代码可读性和可维护性。1) 声明枚举类型的语法附加修饰可见性enum 类型名 :数据类型枚举列表例如:public enum W

    16、eekDays:bytesun,mon,tue,wed,thu,fri,sat;说明:(a) 数据类型默认为int,其他有符号整数亦可。(b) 枚举列表中第一个元素默认值为0,每个元素都可直接指定其值,后续元素的值默认为其前驱元素的值加1。2)应用枚举类型举例 enum EType e1 = 2, e2 = 1, e3 ; static void EnumTest() Console.Write(e1=0,e2=1,e3=2 , (int)EType.e1,(int)EType.e2,(int)EType.e3); EType e = (EType)2;Console.Write(e=0 ,

    17、e);e = EType.e2;Console.Write(e=0 , e);输出:e1=2,e2=1,e3=2,e=e1,e=e2(3)结构类型1) 结构类型C+中的结构体,是复合数据类型。2) 声明结构类型的语法附加修饰可见性struct 结构体名:实现的接口 /结构体成员定义 /*可以包含构造函数,常数、字段、方法、属性、索引、操作符和嵌套类型*/举例public struct Point public int x,y; /定义了x和y两个整型字段 public string desc;/定义了字符串型字段desc 3) 结构类型应用实例static void structTest()

    18、Point p1,p2,p3; /注意,未经初始化的结构体变量不能直接使用 p1.x = 2; p1.y = 2; p1.desc = 起点; p2 = p1; /值类型的变量间赋值, p2.x += 2; p2.desc = 终点; p3=new Point();/调用默认构造函数,初始化变量P3的内部成员 Console.WriteLine(); Console.Write(p1:0,x=1,y=2 , p1.desc,p1.x ,p1.y ); Console.Write(p2:0,x=1,y=2 , p2.desc, p2.x, p2.y); Console.Write(p3:0,x=

    19、1,y=2 , p3.desc, p3.x, p3.y); (4)值类型的初值和默认构造函数 值类型的变量都可以通过new语句调用其默认构造函数,其作用是对变量或变量成员赋初值,其中数值类型的初值为0;字符变量的初值为“u0000”,字符串为“”,布尔类型为false。3、引用类型 C#的引用类型又可分为类类型,接口类型和委托类型和数组类型。(1) 数组类型1) C#中可以使用的数组类型包括一维、多维和交错数组2) 数组的声明和实例化/一维数组的声明与实例化int arr1;/声明语法:类型 数组名arr1=new int20;/ 实例化:数组名new 类型数组长度int arr11=new

    20、int10;/声明与实例化同时完成/多维数组的声明与实例化,以二维数组为例int, arr2; /声明语法:类型 , 数组名arr2=new int2,3; / 实例化:数组名new 类型1维长度,n维长度int, arr21=new int2,3;/声明与实例化同时完成/交错数组的声明与实例化,以二维交错数组为例 int arr34=new int3;/声明并实例化行数组 arr340 = new int210,11;/实例化0行列数组,并赋初值 arr341 = new int320,21,22;/实例化1行列数组, 并赋初值arr342 = new int430,31,32,33;/实例

    21、化2行列数组, 并赋初值上述代码执行后的二维交错数组arr34可如图所示1011arr340202122arr34130313233arr3423) 数组的使用a) 通过“数组名字维下标”访问数组单元,维下标以0为开始索引。b) 一维数组可以使用Length属性获得数组长度;多维数组可以使用GetLength方法获得某一维长度。c) 可以利用数组类Array的Sort,Reverse方法对数组进行排序。举例int arr1 = new int5 6, 7, 2, 4, 3 ; int L = arr1.Length; / L=5; int, arr23 = new int2, 3 4, 5,

    22、6 , 3, 2, 1 ;int L1 = arr23.GetLength(0); /L1=2int L2 = arr23.GetLength(1);/ L2=3Array.Sort(arr1); /arr1=2,3,4,6,7Array.Reverse(arr1); /arr1=7,6,4,3,24、类型转换(1) 隐式转换与显示转换隐式转换指不需要额外声明就可以进行的类型转换;显示转换也叫强制转换,必须明确指出转换的目标类型。通常由“低精度、小范围”类型向“高精度、大范围”类型的类型转换是安全的,可以隐式进行,而反向则不安全,必须显式进行。举例int i = 20; float j = i

    23、; /隐式转换 i=(int)j; /显式转换可以利用checked()函数检测强制转换是否发生溢出错误,当转换溢出时checked()函数将抛出OverflowException异常。(2) 装箱(boxing)与拆箱(unboxing)Object类型是C#中所有数据类型的基类,因而根据里氏替换原则,Object类型可以引用绑定一切其他类型,具体数据类型向Object类型的泛化将减弱某一操作对特定数据类型的限制,实现对任意数据类型的多态支持。装箱操作是通过值类型数据生成Object类型对象的泛化过程;拆箱操作是装箱操作的逆过程,即通过Object类型对象具体化为某种值类型数据。举例:int

    24、 i=123;Object box=i; /装箱操作,根据值类型变量i生成对象类型变量boxint j=(int)box; /拆箱操作,由对象类型变量box生成值类型变量j2.4 C#运算符与优先级C#运算符与优先级可通过下表总结(优先级由上至下)括号运算()一元运算+(取正),-(取负),!(非)算术运算*,/,%(取余),移位运算关系运算,=,is=,!=二进制运算&(与)(异或)|(或)布尔运算&(与)|(或)条件选择运算?:赋值运算=,+=,-=,*=,/=,%=2.5 C#流程控制语句除顺序执行外,可以利用C#的流程控制语句实现分支结构、循环结构、异常处理和控制流的强制跳转。1、 分

    25、支结构(1)if语句基本形式if (布尔式1) 布尔式1为true时执行的语句序列elseif (布尔式2) 布尔式2为true时执行的语句序列elseif (布尔式n) 布尔式n为true时执行的语句序列else 所有布尔式为false时执行的语句序列(2)switch语句基本形式switch (条件表达式) case 常量表达式1语句序列1;break;case 常量表达式2语句序列2;break; default: 语句序列 switch分支结构说明1) 条件表达式和case的常量表达式可以是string、int、char、enum或其他值类型。2) 各个case分支(包括default

    26、分支)顺序无关,但每个case分支的处理语句最后都应以break指令结束。2、 循环结构C#的循环控制结构可以通过for语句,foreach语句,while语句或dowhile语句实现;其中前两种语句通常称为计数循环结构;后两种成为条件循环结构。(1) for语句基本形式for( 循环变量初值; 循环控制条件; 循环变量增量 ) 循环语句体(2) foreach语句foreach语句通常用于对集合对象执行“遍历”操作,即通过循环对集合中的每个成员操作一次。基本形式foreach(集合成员类型 控制变量 in 集合变量) 循环语句体举例 int arr=1,2,3; foreach(int i

    27、in arr) i+;(3) while语句基本形式while(布尔表达式) 循环语句体(4) dowhile dowhile循环后置循环控制条件,与while循环的区别在于循环语句体至少执行一次。基本形式do 循环语句体 while(布尔表达式)3、 强制跳转指令涉及流程控制的强制跳转指令包括:break;continue;goto;return;(1) break 功能:退出最近封闭的switch;while;dowhile;for或foreach结构。(2) continue 功能:终止while;dowhile;for或foreach的当前循环,继续对下一次循环的执行条件进行判定。(3

    28、) goto用法:goto 标签; 功能:将控制流跳转到由标签指示的代码行继续执行。(4) return;用法:return 返回值;功能:结束当前函数的执行,将返回值和控制权交回函数调用方。4、 异常捕获与处理异常是程序运行时的产生的错误或以外行为,对异常的捕获和处理可以提高程序健壮性。(1)异常捕获和处理的语句形式try 可能产生异常的语句catch (异常类型1 变量)对异常类型1的处理catch (异常类型n 变量)对异常类型n的处理finally 程序结束前必须执行的处理语句 (2)throw语句用法:throw 异常类型变量;作用:在异常处理语句块中重新抛出异常,以通知调用程序对该异常进行处理。注意:只有在catch处理语句中throw后面的异常类型变量可以省略,此时返回给调用方的是当前catch语句正在处理的异常类型。(3)异常捕获与举例的完整举例class Program static void Main(string args)try ExcCatch(); catch (Exce


    注意事项

    本文(《DotNet程序设计》备课笔记.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开