C#项目开发实例C#基础第十三讲

上传人:飞*** 文档编号:52568242 上传时间:2018-08-23 格式:PPT 页数:29 大小:2.58MB
返回 下载 相关 举报
C#项目开发实例C#基础第十三讲_第1页
第1页 / 共29页
C#项目开发实例C#基础第十三讲_第2页
第2页 / 共29页
C#项目开发实例C#基础第十三讲_第3页
第3页 / 共29页
C#项目开发实例C#基础第十三讲_第4页
第4页 / 共29页
C#项目开发实例C#基础第十三讲_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《C#项目开发实例C#基础第十三讲》由会员分享,可在线阅读,更多相关《C#项目开发实例C#基础第十三讲(29页珍藏版)》请在金锄头文库上搜索。

1、北风网项目实战培训,讲师:随风(北风网版权所有),C#,数据库(SQLServer),ASP.NET(C#)(网站开发),Mono For Android(C#),C#与.NET的简介,数据类型,第一节C#基础,讲师:随风(北风网版权所有),.NET概要,.NET就是微软用来实现XML,Web Services,SOA(面向服务的体系结构service-oriented architecture)和敏捷性的技术。技术人员一般将微软看成一个平台厂商。微软搭建技术平台,而技术人员在这个技术平台之上创建应用系统。从这个角度,.NET也可以如下来定义:.NET是微软的新一代技术平台,为敏捷商务构建互联

2、互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序。)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。.NET是基于Windows操作系统运行的操作平台,应用于互联网的分布式。,

3、.NET Framework 简介,.NET Framework即Microsoft .NET Framework。 Microsoft .NET Framework是用于Windows的新托管代码编程模型。强大功能与新技术结合,用于构建引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。 .NET Framework类似于JVM .NET Framework 两个主要组件: 通用语言运行时 (CLR) 统一的类库集 .NET的类库: 线程 文件输入/输出 (I/O) 数据库支持 XML 解析 数据结构,编译执行。Net程序,.NET源代码,语言编译器,MSIL +

4、 元数据,CLR,机器代码,第一次编译,第二次编译,代码被执行,Microsoft 中间语言,通用语言运行时CLR,C#语言的特点,C#是一种新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。 C#语言是Microsoft发布的一种全新的编程语言,是其.Net战略的一枚重要棋子。 C#语言是面向对象的、现代的编程语言,用C#编写的应用程序可以充分利用.Net的框架体系带来的优点.既可以用来编写基于通用网络协议的Internet服务软件,也可以编写各种数据

5、库、网络服务应用程序和Windows窗口界面程序。 C#继承了C/C+的优点和灵活性,能够充分利用OS系统的底层功能,同时又具备了完全的面向对象特性。可以让初学者直接了解面向对象编程的各种概念,学习现代的编程思想和手段。,Hello Word 程序,using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleAppCSharp01 class Programstatic void Main(string args)Console.WriteLine(

6、“Hello Word”); ,命名空间,命名空间就像在文件系统中一个文件夹容纳多个文件一样,可以看作某些类的一个容器。通过把类放入命名空间可以把相关的类组织起来,并且可以避免命名冲突。命名空间既用作程序的“内部”组织系统,也用作“外部”组织系统(一种向其他程序公开自己拥有的程序元素的方法) 使用命名空间:using 类似#include,程序说明,程序一般包括以下几部分: 名称空间的引用:使用using关键字指明引用的名称空间 名称空间的声明:使用namespace关键字声明名称空间。 类:使用class关键字声明类。 Main方法:Main方法是C# 程序的入口。 注释 类中包含了程序所要

7、用到的数据和所要执行的方法的定义。每个类中可以有:(1)变量声明(2)构造函数(3)方法(4)属性(5)事件一个文件中可以有1个或者多个类。 所有语句都以分号“;“结束。,C#基本数据类型,1、整型 2、布尔型 3、字串型 4、浮点型 5、小数型 6、结构类型 7、枚举类型(枚举类型的元素使用的类型只能是long,int,short,byte.默认类型是int.默认第一个元素的值是0,每一个连续的元素按1递增.) 8、数组与类数据类型又可分为: 1、值类型:值类型就是直接包含值的。值类型需要的内存量会在编译的时候固定下来,不会再运行时改变。因为大小是固定的,所以值类型可以存储在栈的内存中。 简

8、单值类型包括:整数类型 、字符类型、实数类型、布尔类型 复合值类型包括:结构类型 、枚举类型 2、引用类型:类、接口、委托和数组 3、null和void:null表示变量不引用任何有效的对象。 null是不能赋值给值类型的,因为所有的值类型都必须要初始值,如果赋值为int或FLOAT就会出现类型不匹配。 void表示没有类型,或者没有任何值。 void本质上并不是一个数据类型,它只用于指明没有数据这一个事实。,C#内置数据类型及对应的.NET框架数据类型,C#内置数据类型及对应的.NET框架数据类型,下表列出了按优先级顺序分组的 C# 运算符。 每个组中的运算符具有相同的优先级。,C#运算符,

9、下表列出了按优先级顺序分组的 C# 运算符。 每个组中的运算符具有相同的优先级。,C#运算符,下表列出了按优先级顺序分组的 C# 运算符。 每个组中的运算符具有相同的优先级。,C#运算符,下表列出了按优先级顺序分组的 C# 运算符。 每个组中的运算符具有相同的优先级。,C#运算符,“表达式”是由一个或多个操作数以及零个或零个以上的运算符所组成的序列,可以通过计算得到一个值、对象、方法或命名空间等结果。 表达式可以包含文本值、方法调用、运算符及其操作数,或简单名称。 简单名称可以是变量、类型成员、方法参数、命名空间或类型的名称。 表达式可以使用运算符,而运算符又可以将其他表达式用作参数,或者使用

10、方法调用,而方法调用的参数又可以是其他方法调用,因此表达式既可以非常简单,也可以非常复杂。如:x+y就是一个表达式,其中x,y就是操作数,+是运算符a%b也是表达式,a,b是操作数,%是运算符str1=str2也是表达式,str1,str2是操作数,=是运算符(x5)|(str1!=str2)也是表达式,x,y,str1,str2是操作数,,|,!=是运算符。,C#表达式,1、选择语句 2、迭代语句 3、跳转语句,C#面向对象编程,C#面向对象特性: 所有东西都是对象:变量与方法的集合 初级特性:OO基本概念,即类与对象。 中级特性:OO核心概念,即封装,继承与多态 高级特性:由初级特性与中级

11、特性引出的一些问题,如构造函数的一些使用,覆盖规则,静态变量和函数。,C#访问修饰符,使用访问修饰符 public、protected、internal 或 private 可以为成员指定以下声明的可访问性之一。 一个成员或类型只能有一个访问修饰符,使用 protectedinternal 组合时除外。 命名空间上不允许使用访问修饰符。命名空间没有访问限制。,C#访问修饰符,常用数据类成员的默认修饰符与允许声明的可访问性,Const:关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数,不能被修改。 Readonly:关键字是可以在字段上使用的修饰符。当字段声明包括 readon

12、ly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。 Static:使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型。例如,下面的类声明为 static,并且只包含 static 方法。 Abstract:修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。,C#其它修饰符,Overrid

13、e:要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现,必须使用 override 修饰符。 Virtual:关键字用于修饰方法、属性、索引器或事件声明,并且允许在派生类中重写这些对象。例如,此方法可被任何继承它的类重写。 Sealed:修饰符可以应用于类、实例方法和属性。密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或属性时,sealed 修饰符必须始终与 override一起使用。 Event:关键字用于在发行者类中声明事件。 Extern:修饰符用于声明在外部实现的方法。 Unsafe:关键字表示不安全上下文,该上下文是任何涉及

14、指针的操作所必需的。 Volatile:关键字表示字段可能被多个并发执行线程修改。声明为 volatile :的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确保该字段在任何时间呈现的都是最新的值,C#其它修饰符,小小结,1、命名空间 2、成员,构造函数,属性 3、 关键字 4、析构函数 5、i+,C#基础+数据库+网站开发+手机开发一门课全搞定: http:/ 类:存在于栈堆(栈存对象地址,堆是存放对象数据) 2、继承性:结构是不能继承也不能被继承,但是它能继承接口 类:都可以 3、初始化上不同:类可以在声明时初始化成员,结构不能在声明时初始化。结构在声明全局变量时可以初始化 4、

15、构造函数:都有构造函数,都可以自定义构造函数;类一旦定义了构造函数,原默认的构造函数就不存在。结构的构造函数始终存在,不可替代,不可覆盖,结构只能编写带参构造函数。 5、析构函数,类有,结构没有 6、类中可以,但在结构中被限制的关键字:abstract,sealed,protected; static可以在类中声明为静态类,但不存在静态结构。,结构与类的异同,委托与事件,委托:委托类似于函数指针,但函数指针只能引用静态方法,而委托既能引用静态方法,也能引用实例方法。委托使用分三步:委托声明、委托实例化、委托调用。 使用delegate关键字声明,委托声明了以后,可以象类一样进行实例化,实例化时把要引用的方法做为参数,这样委托和方法就关联了起来,就可以用委托来引用方法了。委托和所引用的方法必须保持一致:参数个数、类型、顺序必须完全一致。返回值必须一致。事件:事件有很多,比如说鼠标的事件:MouserMove,MouserDown等,键盘的事件:KeyUp,KeyDown,KeyPress。有事件,就会有对事件进行处理的方法,而事件和处理方法之间是怎么联系起来的呢?委托就是他们中间的桥梁,事件发生时,委托会知道,然后将事件传递给处理方法,处理方法进行相应处理。,欢迎访问我们的官方网站 ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号