C#经典入门教程详解ppt课件.ppt
《C#经典入门教程详解ppt课件.ppt》由会员分享,可在线阅读,更多相关《C#经典入门教程详解ppt课件.ppt(431页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1章章 C#与与NET平台介绍平台介绍本章目标本章目标了解了解.NET Framework 的结构的结构理解理解.NET Framework 的基本概念的基本概念CLRJITCTSMSIL了解了解 .NET Framework 命名空间命名空间了解了解C#程序的基本结构程序的基本结构1 C#语言的由来语言的由来在过去的二十年里,C和C+已经成为在商业软件的开发领域中使用最广泛的语言。它们为程序员提供了十分灵活的操作,不过同时也牺牲了一定的开发效率。与VB等语言相比,同等级别的C/C+应用程序往往需要更长时间来开发。由于C/C+语言的复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与效
2、率之间找到一个更为理想的权衡点。VB以牺牲灵活性的代价来提高效率。可是这些灵活性正是C/C+程序员所需要的。这些解决方案对编程人员的限制过多(如屏蔽一些底层代码控制的机制),所提供的功能难以令人满意。这些语言无法方便地同早先的系统交互,也无法很好地和当前的网络编程相结合。对于C/C+用户来说,最理想的解决方案无疑是在快速开发的同时又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保持同步并且能和已有的应用程序良好整合的环境。另外,一些C/C+开发人员还需要在必要的时候进行一些底层的编程。C# (C sharp) 是对这一问题的解决方案。C#是一种新的、面向对象的编程语言。它使得程序员可
3、以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。 C#语言的特点:C#语言是Microsoft发布的一种全新的编程语言,是其.Net战略的一枚重要棋子。C#语言是面向对象的、现代的编程语言,用C#编写的应用程序可以充分利用.Net的框架体系带来的优点.既可以用来编写基于通用网络协议的Internet服务软件,也可以编写各种数据库、网络服务应用程序和Windows窗口界面程序。C#继承了C/C+的优点和灵活性,能够充分利用OS系统的底层功能,同时又具备了完全的面向对象特性。可以让初学者直接了解
4、面向对象编程的各种概念,学习现代的编程思想和手段。代码代码被执行被执行C+VB编译器编译器编译器编译器可执行可执行代码代码可执行可执行代码代码RUNTIMERUNTIME2 .NET代码的编译代码的编译语言特定的编译器和运行库语言特定的编译器和运行库代码代码被执行被执行C+VB编译器编译器编译器编译器可执行可执行代码代码可执行可执行代码代码RUNTIMERUNTIMEIL+元数据CLRIL 和和 CLR 的使用的使用Intermediate LanguageCommon Language Runtime编译执行 .NET 程序MSIL+元数据元数据机器机器代码代码代码代码被执行被执行CLR第一
5、次编译第一次编译第二次编译第二次编译.NET 程序被编译两次,第一次编译很慢,而第二次程序被编译两次,第一次编译很慢,而第二次编译较快!编译较快!语言语言编译器编译器.NET 源代码源代码Microsoft 中间语言中间语言MSIL+元数据机器代码代码 被执行CLRMSIL帮助语言实现互操作IL 不是字节代码,但很接近字节代码。因此,执行应用程序时,IL 到机器码的转换速度非常快!通过 CLR将 MSIL 转换为具体 CPU 的代码CPU 无关的指令集语言语言编译器编译器.NET 源代码程序集程序集moduleILIL语言范例语言范例 IL_0000: nop IL_0001: call IL
6、_0006: nop IL_0007: ldc.i4.0 IL_0008: call IL_000d: nop IL_000e: ldnull IL_000f: ldftn IL_0015: newobj IL_001a: call IL_001f: nop IL_0020: newobj IL_0025: call IL_002a: nop IL_002b: newobj IL_0030: throw通用语言运行时通用语言运行时CLRCLR.NET 源代码MSIL+元数据机器代码代码被执行管理内存易于设计组件和应用程序,其对象可以跨语言互动跨语言集成(特别是跨语言继承)JIT 编译器:一次编
7、译,就可运行在支持运行库的任何 CPU 和操作系统上语言语言编译器编译器.NET的语言互操作性:的语言互操作性:不同语言编写的代码可互相调用不同语言编写的代码可互相调用C#的平台移植性:的平台移植性:框架框架JIT编译器编译器(Just In Time, 即时编译器即时编译器 。)3 .NET Framework 简介简介.NET Framework类似于类似于JVM.NET Framework 两个主要组件:两个主要组件:通用语言运行时通用语言运行时 (CLR)统一的类库集统一的类库集.NET的类库的类库:线程线程文件输入文件输入/输出输出 (I/O)数据库支持数据库支持XML 解析解析数据
8、结构数据结构.NET Framework 的体系结构通用语言运行时通用语言运行时 (CLR)IO, Drawing, Threading操作系统操作系统.Net Framework 类类库库 (FCL)CLS和和CTS通用语言规范通用语言规范 CLS Common Language Specification规定所有规定所有 .NET 语言都应语言都应遵循的规则遵循的规则生成可与其他语言互操作生成可与其他语言互操作的应用程序的应用程序通用类型系统通用类型系统 (Common Type System, CTS。) 包含标准数据类型包含标准数据类型 包含准则集包含准则集CLS、CTS 和和 MSI
9、L 紧密配合以实现语言互操作性紧密配合以实现语言互操作性命名空间就像在文件系统中一个文件夹容纳多命名空间就像在文件系统中一个文件夹容纳多个文件一样,可以看作某些类的一个容器。通个文件一样,可以看作某些类的一个容器。通过把类放入命名空间可以把相关的类组织起来,过把类放入命名空间可以把相关的类组织起来,并且可以避免命名冲突。命名空间既用作程序并且可以避免命名冲突。命名空间既用作程序的的“内部内部”组织系统,也用作组织系统,也用作“外部外部”组织系组织系统(一种向其他程序公开自己拥有的程序元素统(一种向其他程序公开自己拥有的程序元素的方法)的方法)使用命名空间:使用命名空间:using类似类似#in
10、clude4 命名空间1.Hclass A 2.Hclass A 3.cpp#include “1.h”#include “2.h”.3.cppclass A class A namespace a1class A namespace a2class A 3.csusing a1;using a2;a1.Aa2.A常用命名空间常用命名空间命名空间命名空间说明说明System.Drawing 处理图形和绘图,包括打印处理图形和绘图,包括打印 System.Data 处理数据存取和管理,在定义处理数据存取和管理,在定义 ADO.NET 技术中扮技术中扮演重要角色演重要角色System.IO 管理对
11、文件和流的同步和异步访问管理对文件和流的同步和异步访问System.Windows 处理基于窗体的窗口的创建处理基于窗体的窗口的创建System.Reflection 包含从程序集读取元数据的类包含从程序集读取元数据的类System.Threading 包含用于多线程编程的类包含用于多线程编程的类 System.Collections 包含定义各种对象集的接口和类包含定义各种对象集的接口和类5 创建创建“Hello World”应用程序应用程序单击单击“开始开始”“程序程序”“Microsoft Visual Studio .NET 2005”“Microsoft Visual Studio
12、.NET 2005”此时将打开此时将打开 VS.NET 2005 的起始页的起始页要创建要创建 C# 控制台应用程序,请从列表中选择控制台应用程序,请从列表中选择 “创创建建建建”“项目项目”。此时将打开。此时将打开“新建项目新建项目”窗口窗口选择选择“Visual C# 项目项目”作为项目类型,选择作为项目类型,选择“控控制台应用程序制台应用程序”作为模板作为模板 C# 模板模板Console.WriteLine(Hello World);输出输出HelloWorld.csprojAssemblyInfo.csProgram.cs“Hello World”应用程序文件应用程序文件编译和执行编
13、译和执行 C# 应用程序应用程序要生成要生成 C# 项目,请从菜单中选择项目,请从菜单中选择“生成生成” “生成解决方案生成解决方案”该过程将编译项目中包括的所有文件,编译结该过程将编译项目中包括的所有文件,编译结果显示在果显示在“输出输出”窗口中窗口中 如果结果显示如果结果显示“生成生成: 1 成功或最新,成功或最新,0失败,失败,0被跳过被跳过”,则说明已经成功生成,然后即可交付,则说明已经成功生成,然后即可交付该应用程序该应用程序要运行刚才生成的应用程序,请从菜单中选要运行刚才生成的应用程序,请从菜单中选择择“调试调试”“开始执行开始执行(不调试不调试)”输出结果显示在输出结果显示在 V
14、S.NET 控制台窗口中控制台窗口中C# 应用程序文件夹结构应用程序文件夹结构Visual Studio .NET 2005 创建一个与项目同名的文创建一个与项目同名的文件夹,此处为件夹,此处为“HelloWorld” 该文件夹包含项目文件该文件夹包含项目文件“HelloWorld.csproj”和其和其他关联文件他关联文件 每个新项目都创建了每个新项目都创建了 bin、obj和和Properties 三个文三个文件夹。件夹。 Bin和和obj这两个文件夹下都有一个这两个文件夹下都有一个 Debug 子目录,其子目录,其中包含可执行文件中包含可执行文件 HelloWorld.exe 在在“解决
15、方案资源管理器解决方案资源管理器”中启用中启用“显示所有文件显示所有文件”选选项,可查看项,可查看“HelloWorld”项目的结构项目的结构 /这是用这是用 C# 编写的一个简单的编写的一个简单的 HelloWorld 程序程序using System;namespace Notepadclass HelloWorldstatic void Main()Console.WriteLine(Hello World);声明 HelloWorld 类描述代码的注释Hello World 程序程序程序入口点, Main 的返回类型为 void控制台类的 WriteLine() 方法用于显示输出结果导
16、入 System 命名空间声明命名空间 Notepad将文件保存为将文件保存为 *.cs说明说明:1. 程序一般包括以下几部分:程序一般包括以下几部分:名称空间的引用:使用名称空间的引用:使用using关键字指明引用的名称空间。关键字指明引用的名称空间。名称空间的声明:使用名称空间的声明:使用namespace关键字声明名称空间。关键字声明名称空间。类:使用类:使用class关键字声明类。关键字声明类。Main方法:方法:Main方法是方法是C# 程序的入口。程序的入口。2. 类中包含了程序所要用到的数据和所要执行的方法的定义。每个类中类中包含了程序所要用到的数据和所要执行的方法的定义。每个类
17、中可以有:可以有: (1)变量声明变量声明 (2)构造函数构造函数 (3)方法方法 (4)属性属性 (5)事件事件3. 一个文件中可以有一个文件中可以有1个或者多个类。个或者多个类。4. 所有语句都以分号所有语句都以分号;结束。结束。 ZJWCHCC#语言基础语言基础第第2章章目标目标在在C#中定义变量和常量中定义变量和常量使用使用C#中的基本数据类型中的基本数据类型理解装箱和拆箱的概念理解装箱和拆箱的概念使用使用C#中的运算符,选择结构和循环结构中的运算符,选择结构和循环结构定义和使用数组,了解结构和枚举定义和使用数组,了解结构和枚举了解了解C#中的预处理指令中的预处理指令理解理解C#中常用
18、的字符串处理方法中常用的字符串处理方法第一个第一个 C#程序程序 :HelloWorld using System; class HelloWorld static void Main( ) Console.WriteLine(“Hello, World!”); HelloWorld.cs第一个第一个 C#程序程序 :HelloWorld1: using System;第第 1 行:行:using 关键字关键字用来引用用来引用.NET框架类库中的资源框架类库中的资源通常在程序文件的开头使用通常在程序文件的开头使用如果程序中需要多种资源,可以使用多次如果程序中需要多种资源,可以使用多次using
19、System 命名空间命名空间System命名空间提供了构建应用程序所需的系统统能的访命名空间提供了构建应用程序所需的系统统能的访问问第一个第一个 C# 程序程序 :HelloWorld2: class HelloWorld3: .8: 第第 2,3,8 行:行:类类在在C#或其他面向对象语言中,需要编写类或其他面向对象语言中,需要编写类使用关键字使用关键字class定义一个类,类的内容放在一对定义一个类,类的内容放在一对 中中示例中定义了一个名为示例中定义了一个名为HelloWorld的类的类第一个第一个 C# 程序程序 :HelloWorld4: static void Main( )5:
20、 .7: 第第 4,5,7 行:行:Main 方法方法w Main 方法是应用程序的入口点,编译器将由该处开始执行方法是应用程序的入口点,编译器将由该处开始执行程序程序w 方法体也放在一对方法体也放在一对 中中w 每个每个C#的应用程序都必须包含的应用程序都必须包含Main方法方法4: static void Main( )5: .7: 第第 4,5,7 行:行:Main方法方法 w static表示表示Main方法是一个全局方法方法是一个全局方法w void表示表示Main方法没有任何返回值,即返回值是空方法没有任何返回值,即返回值是空w 参数放在小括号中定义。此处括号内没有内容,表明参数放
21、在小括号中定义。此处括号内没有内容,表明Main方法方法没有任何参数没有任何参数第一个第一个 C# 程序程序 :HelloWorld6: Console.WriteLine(“Hello, World!”);第第 6 行:行: 语句语句w 在在C#中要执行的指令中要执行的指令w 语句之间用;分隔,编译器通过分号来区分多个语句语句之间用;分隔,编译器通过分号来区分多个语句w 使用大括号使用大括号 标识某个代码块的开始和结束,从而可以对语标识某个代码块的开始和结束,从而可以对语句进行组合。大括号必须成对匹配。句进行组合。大括号必须成对匹配。第一个第一个 C# 程序程序 :HelloWorld6:
22、Console.WriteLine(“Hello, World!”);第第 6 行:行: 语句语句w HelloWorld程序的主要目的就是在屏幕上显示一条问候程序的主要目的就是在屏幕上显示一条问候 WriteLine方法用来将问候语写到标准输出设备上。方法用来将问候语写到标准输出设备上。w Console代表标准输出设备代表标准输出设备- 屏幕,它属于屏幕,它属于System命名空间命名空间 w WriteLine方法是方法是Console类的方法。访问类或对象的方法使用类的方法。访问类或对象的方法使用 点取符点取符.来完成。来完成。w 字符串用双引号字符串用双引号“ ”表示表示w 字符串字
23、符串“Hello,World”是是WriteLine方法的参数,表示屏幕输出方法的参数,表示屏幕输出 的内容的内容第一个第一个 C# 程序程序 :HelloWorld系统预定义类型系统预定义类型类型类型描描 述述范围范围/精度精度例子例子object所有其它类型的最根本的基所有其它类型的最根本的基础类型础类型object o = null;string字符串类型,一个字符串是字符串类型,一个字符串是一个一个Unicode字符序列字符序列string s= Hello;sbyte8-bit 有符号整数类型有符号整数类型128.127sbyte val = 12;short16-bit有符号整数类
24、型有符号整数类型32,768.32,767short val = 12;int32-bit有符号整数类型有符号整数类型2,147,483,648.2,147,483,647int val = 12;long64-bit有符号整数类型有符号整数类型9,223,372,036,854,775,808.9,223,372,036,854,775,807long val1 = 12;long val2 = 34L;byte8-bit无符号整数类型无符号整数类型0.255byte val1 = 12;byte val2 = 34U;ushort16-bit无符号整数类型无符号整数类型0.65,535us
25、hort val1 = 12;ushort val2 = 34U;uint32-bit无符号整数类型无符号整数类型0.4,294,967,295uint val1 = 12;uint val2 = 34U;系统预定义类型系统预定义类型类型类型描描 述述范围范围/精度精度例子例子ulong64-bit无符号整数类型无符号整数类型0.18,446,744,073,709,551,615ulong val1 = 12;ulong val2 = 34U;ulong val3 = 56L;ulong val4 = 78UL;float单精度浮点数类型单精度浮点数类型1.5 1045 至至 3.4 103
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 经典 入门教程 详解 ppt 课件
限制150内