当前位置:文档之家› C#入门经典ppt

C#入门经典ppt


.NET Framework 的体系结构
VB C++ C# JScript … Visual Studio .NET
通用语言规范(CLS) XML Web services
.Net Framework 类 库 (FCL)
Web Forms Windows Forms
Data and XML Base Class Library:
client.exe
清单 元数据 中间语言 清单 元数据 中间语言
client.exe
清单 元数据 中间语言
clientlib.dll
元数据 中间语言
client.exe
module
IL语言范例
IL_0000: IL_0001: IL_0006: IL_0007: IL_0008: IL_000d: IL_000e: IL_000f: IL_0015: IL_001a: IL_001f: IL_0020: IL_0025: IL_002a: IL_002b: IL_0030: nop call nop ldc.i4.0 call nop ldnull ldftn newobj call nop newobj call nop newobj throw
第1章 C#与NET平台介绍 本章目标
了解.NET Framework 的结构 理解.NET Framework 的基本概念
CLR JIT CTS MSIL
了解 .NET Framework 命名空间 了解C#程序的基本结构
1 C#语言的由来
在过去的二十年里,C和C++已经成为在商业软件的开发领域中 使用最广泛的语言。它们为程序员提供了十分灵活的操作,不过 同时也牺牲了一定的开发效率。与VB等语言相比,同等级别的 C/C++应用程序往往需要更长时间来开发。由于C/C++语言的 复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与 效率之间找到一个更为理想的权衡点。 VB以牺牲灵活性的代价来提高效率。可是这些灵活性正是 C/C++程序员所需要的。这些解决方案对编程人员的限制过多 (如屏蔽一些底层代码控制的机制),所提供的功能难以令人满 意。这些语言无法方便地同早先的系统交互,也无法很好地和当 前的网络编程相结合。
System.Collections 包含定义各种对象集的接口和类
5 创建“Hello World”应用程序
单击“开始”“程序”“Microsoft Visual Studio .NET 2005”“Microsoft Visual Studio .NET 2005” 此时将打开 2005 的起始页 要创建 C# 控制台应用程序,请从列表中选择 “创 建建”“项目”。此时将打开“新建项目”窗口 选择“Visual C# 项目”作为项目类型,选择“控 制台应用程序”作为模板
通用语言运行时CLR
.NET 源 代码
语言 编译器
MSIL + 元数据
CLR
机器 代码
代码 被执行
管理内存 易于设计组件和应用程 序,其对象可以跨语言 互动 跨语言集成(特别 是跨语言继承)
JIT 编译器:一次编译,就可 运行在支持运行库的任何 CPU 和操作系统上
.NET的语言互操作性:
不同语言编写的代码可互相调用
.NET 源 代码 语言 编译器
MSIL
MSIL + 元数据
CLR
机器 代码
代码 被执行
帮助语言实现互 操作 IL 不是字节代码,但很接 近字节代码。因此,执行 应用程序时,IL 到机器码 的转换速度非常快!
通过 CLR将 MSIL 转换为具体 CPU 的 代码 CPU 无关的指令集
程序集
清单 元数据 中间语言
class A { … }
}
}
3.cs using a1; using a2; a1.A a2.A
常用命名空间
命名空间
System.Drawing System.Data System.IO System.Windows System.Reflection System.Threading
说明
处理图形和绘图,包括打印 处理数据存取和管理,在定义 技术中扮 演重要角色 管理对文件和流的同步和异步访问 处理基于窗体的窗口的创建 包含从程序集读取元数据的类 包含用于多线程编程的类
R U N T I M R E U N T I M E
C++
+ 可执行 元数据
代码
C L R
代码 被执行
编译执行 .NET 程序
.NET 源代码
语言 编译器
MSIL + 元数据
CLR
机器 代码
代码 被执行
第二次编译 第一次编译
.NET 程序被编译两次,第一次编译很慢,而第二次 编译较快!
Microsoft 中间语言
将文件保存为 *.cs
说明:
1. 程序一般包括以下几部分: 名称空间的引用:使用using关键字指明引用的名称空间。 名称空间的声明:使用namespace关键字声明名称空间。 类:使用class关键字声明类。 Main方法:Main方法是C# 程序的入口。 2. 类中包含了程序所要用到的数据和所要执行的方法的定义。每个类中 可以有: (1)变量声明 (2)构造函数 (3)方法 (4)属性 (5)事件 3. 一个文件中可以有1个或者多个类。 4. 所有语句都以分号";"结束。
要运行刚才生成的应用程序,请从菜单中选 择“调试”“开始执行(不调试)” 输出结果显示在 控制台窗口中
C# 应用程序文件夹结构
Visual Studio .NET 2005 创建一个与项目同名的文 件夹,此处为“HelloWorld” 该文件夹包含项目文件“HelloWorld.csproj”和其 他关联文件 每个新项目都创建了 bin、obj和Properties 三个文 件夹。 Bin和obj这两个文件夹下都有一个 Debug 子目录, 其中包含可执行文件 HelloWorld.exe 在“解决方案资源管理器”中启用“显示所有文件”选 项,可查看“HelloWorld”项目的结构
C#的平台移植性:
框架 JIT编译器(Just In Time, 即时编译器)
3 .NET Framework 简介
.NET Framework类似于JVM .NET Framework 两个主要组件: 通用语言运行时 (CLR) 统一的类库集 .NET的类库: 线程 文件输入/输出 (I/O) 数据库支持 XML 解析 数据结构……
第 4,5,7 行: 4: 5: 7: static void Main( ) { ……….. } Main 方法
Main 方法是应用程序的入口点,编译器将由该处开始执行 程序 方法体也放在一对{ }中 每个C#的应用程序都必须包含Main方法
2 .NET代码的编译 语言特定的编译器和运行库
VB 编译器 可执行 代码
R U N T I M E R U N T I M E
代码 被执行
C++
编译器
可执行 代码
Intermediate Language Common Language Runtime
IL 和 CLR 的使用
VB 编译器 可执行 代码 IL 编译器
C# 模板
输出
Console.WriteLine("Hello World");
“Hello World‖应用程序文件
HelloWorld.csproj AssemblyInfo.cs Program.cs
编译和执行 C# 应用程序
要生成 C# 项目,请从菜单中选择“生成” “生成解决方案” 该过程将编译项目中包括的所有文件,编译结 果显示在“输出”窗口中 如果结果显示“生成: 1 成功或最新,0失败, 0被跳过”,则说明已经成功生成,然后即可交 付该应用程序
第一个 C#程序 :HelloWorld
第 1 行: 1: using System;
using 关键字 用来引用.NET框架类库中的资源 通常在程序文件的开头使用 如果程序中需要多种资源,可以使用多次using System 命名空间 System命名空间提供了构建应用程序所需的系统统能的访 问
ZJWCHC
第2章
C#语言基础
目标
在C#中定义变量和常量 使用C#中的基本数据类型 理解装箱和拆箱的概念 使用C#中的运算符,选择结构和循环结构 定义和使用数组,了解结构和枚举 了解C#中的预处理指令 理解C#中常用的字符串处理方法
第一个 C#程序 :HelloWorld
HelloWorld.cs 1. 2. 3. 4. 5. 6. 7. 8. using System; class HelloWorld { static void Main( ) { Console.WriteLine(―Hello, World!‖); } }
对象 类 接口 数组 引用类型 基本类型 结构 枚举 值类型
CLS、CTS 和 MSIL 紧密配合以实现语言互操作性
4 命名空间
命名空间就像在文件系统中一个文件夹容纳多 个文件一样,可以看作某些类的一个容器。通 过把类放入命名空间可以把相关的类组织起来, 并且可以避免命名冲突。命名空间既用作程序 的“内部”组织系统,也用作“外部”组织系 统(一种向其他程序公开自己拥有的程序元素 的方法) 使用命名空间:using 类似#include
IO, Drawing, Threading
CLR通用语言运行时 (CLR)
操作系统
CLS和CTS
通用语言规范 CLS Common Language Specification 规定所有 .NET 语言都应 遵循的规则 生成可与其他语言互操作 的应用程序 通用类型系统 (Common Type System, CTS) 包含标准数据类型 包含准则集
相关主题