最新C#入门经典教程教学讲义ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单击“开始”“程序”“Microsoft Visual Studio .NET 2005”“Microsoft Visual Studio .NET 2005” 此时将打开 VS.NET 2005 的起始页 要创建 C# 控制台应用程序,请从列表中选择 “创 建建”“项目”。此时将打开“新建项目”窗口 选择“Visual C# 项目”作为项目类型,选择“控 制台应用程序”作为模板
VB以牺牲灵活性的代价来提高效率。可是这些灵活性正是 C/C++程序员所需要的。这些解决方案对编程人员的限制过多( 如屏蔽一些底层代码控制的机制),所提供的功能难以令人满意 。这些语言无法方便地同早先的系统交互,也无法很好地和当前 的网络编程相结合。
对于C/C++用户来说,最理想的解决方案无疑是在快速开发的同时 又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保 持同步并且能和已有的应用程序良好整合的环境。另外,一些 C/C++开发人员还需要在必要的时候进行一些底层的编程。
C#入门经典教程
1 C#语言的由来
在过去的二十年里,C和C++已经成为在商业软件的开发领域中 使用最广泛的语言。它们为程序员提供了十分灵活的操作,不过 同时也牺牲了一定的开发效率。与VB等语言相比,同等级别的 C/C++应用程序往往需要更长时间来开发。由于C/C++语言的 复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与 效率之间找到一个更为理想的权衡点。
}
3.cs
using a1;
using a2;
a1.A
a2.A
namespace a2 {
class A {
… }
}
常用命名空间
命名空间
System.Drawing System.Data System.IO
说明
处理图形和绘图,包括打印 处理数据存取和管理,在定义 ADO.NET 技术中扮 演重要角色
通用语言运行时CLR
.NET 源 代码
语言 编译器
CLR MSIL + 元数据
机器 代码
代码 被执行
管理内存
易于设计组件和应用程 序,其对象可以跨语言 互动
跨语言集成(特别 是跨语言继承)
JIT 编译器:一次编译,就可 运行在支持运行库的任何 CPU 和操作系统上
.NET的语言互操作性:
不同语言编写的代码可互相调用
C# (C sharp) 是对这一问题的解决方案。C#是一种新的、面向对 象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务 来最大程度地开发利用计算与通讯领域。
编译执行 .NET 程序
.NET 源代码
管理对文件和流的同步和异步访问
System.Windows 处理基于窗体的窗口的创建
System.Reflection 包含从程序集读取元数据的类 System.Threading 包含用于多线程编程的类 System.Collections 包含定义各种对象集的接口和类
5 创建“Hello World”应用程序
语言 编译器
MSIL +
元数据
CLR
机器 代码
代码 被执行
第二次编译
第一次编译 .NET 程序被编译两次,第一次编译很慢,而第二次 编译较快!
Microsoft 中间语言
.NET 源 代码
MSIL 语言
编译器
MSIL +
元数据
CLR
机器 代码
代码 被执行
帮助语言实现互 操作
IL 不是字节代码,Hale Waihona Puke Baidu很接 近字节代码。因此,执行 应用程序时,IL 到机器码 的转换速度非常快!
使用命名空间:using
类似#include
1.H class A {
… }
3.cpp
#include “1.h”
#include “2.h”
….
2.H class A {
… }
3.cpp class A {
… } class A {
… } …
namespace a1 {
class A {
… }
.NET Framework 的体系结构
Visual Studio .NET
.Net Framework 类 库 (FCL)
VB C++ C# JScript … 通用语言规范(CLS)
XML Web services
Web Forms Windows Forms
Data and XML
Base Class Library:
IL语言范例
IL_0000: nop IL_0001: call IL_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
C#的平台移植性:
框架 JIT编译器(Just In Time, 即时编译器)
3 .NET Framework 简介
.NET Framework类似于JVM .NET Framework 两个主要组件:
通用语言运行时 (CLR) 统一的类库集
.NET的类库:
线程 文件输入/输出 (I/O) 数据库支持 XML 解析 数据结构……
通过 CLR将 MSIL 转换为具体 CPU 的 代码
CPU 无关的指令集
清单 元数据 中间语言
client.exe
程序集
清单 元数据 中间语言
client.exe
清单 元数据 中间语言
clientlib.dll
清单 元数据 中间语言
元数据 中间语言
client.exe clientlib.netmodule
包含标准数据类型
包含准则集
对象
类
基本类型
接口 数组 引用类型
结构 枚举 值类型
CLS、CTS 和 MSIL 紧密配合以实现语言互操作性
4 命名空间
命名空间就像在文件系统中一个文件夹容纳多 个文件一样,可以看作某些类的一个容器。通 过把类放入命名空间可以把相关的类组织起来, 并且可以避免命名冲突。命名空间既用作程序 的“内部”组织系统,也用作“外部”组织系 统(一种向其他程序公开自己拥有的程序元素 的方法)
IO, Drawing, Threading
CLR通用语言运行时 (CLR)
操作系统
CLS和CTS
通用语言规范 CLS
Common Language Specification
规定所有 .NET 语言都应 遵循的规则
生成可与其他语言互操作 的应用程序
通用类型系统 (Common Type System, CTS)
VB以牺牲灵活性的代价来提高效率。可是这些灵活性正是 C/C++程序员所需要的。这些解决方案对编程人员的限制过多( 如屏蔽一些底层代码控制的机制),所提供的功能难以令人满意 。这些语言无法方便地同早先的系统交互,也无法很好地和当前 的网络编程相结合。
对于C/C++用户来说,最理想的解决方案无疑是在快速开发的同时 又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保 持同步并且能和已有的应用程序良好整合的环境。另外,一些 C/C++开发人员还需要在必要的时候进行一些底层的编程。
C#入门经典教程
1 C#语言的由来
在过去的二十年里,C和C++已经成为在商业软件的开发领域中 使用最广泛的语言。它们为程序员提供了十分灵活的操作,不过 同时也牺牲了一定的开发效率。与VB等语言相比,同等级别的 C/C++应用程序往往需要更长时间来开发。由于C/C++语言的 复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与 效率之间找到一个更为理想的权衡点。
}
3.cs
using a1;
using a2;
a1.A
a2.A
namespace a2 {
class A {
… }
}
常用命名空间
命名空间
System.Drawing System.Data System.IO
说明
处理图形和绘图,包括打印 处理数据存取和管理,在定义 ADO.NET 技术中扮 演重要角色
通用语言运行时CLR
.NET 源 代码
语言 编译器
CLR MSIL + 元数据
机器 代码
代码 被执行
管理内存
易于设计组件和应用程 序,其对象可以跨语言 互动
跨语言集成(特别 是跨语言继承)
JIT 编译器:一次编译,就可 运行在支持运行库的任何 CPU 和操作系统上
.NET的语言互操作性:
不同语言编写的代码可互相调用
C# (C sharp) 是对这一问题的解决方案。C#是一种新的、面向对 象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务 来最大程度地开发利用计算与通讯领域。
编译执行 .NET 程序
.NET 源代码
管理对文件和流的同步和异步访问
System.Windows 处理基于窗体的窗口的创建
System.Reflection 包含从程序集读取元数据的类 System.Threading 包含用于多线程编程的类 System.Collections 包含定义各种对象集的接口和类
5 创建“Hello World”应用程序
语言 编译器
MSIL +
元数据
CLR
机器 代码
代码 被执行
第二次编译
第一次编译 .NET 程序被编译两次,第一次编译很慢,而第二次 编译较快!
Microsoft 中间语言
.NET 源 代码
MSIL 语言
编译器
MSIL +
元数据
CLR
机器 代码
代码 被执行
帮助语言实现互 操作
IL 不是字节代码,Hale Waihona Puke Baidu很接 近字节代码。因此,执行 应用程序时,IL 到机器码 的转换速度非常快!
使用命名空间:using
类似#include
1.H class A {
… }
3.cpp
#include “1.h”
#include “2.h”
….
2.H class A {
… }
3.cpp class A {
… } class A {
… } …
namespace a1 {
class A {
… }
.NET Framework 的体系结构
Visual Studio .NET
.Net Framework 类 库 (FCL)
VB C++ C# JScript … 通用语言规范(CLS)
XML Web services
Web Forms Windows Forms
Data and XML
Base Class Library:
IL语言范例
IL_0000: nop IL_0001: call IL_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
C#的平台移植性:
框架 JIT编译器(Just In Time, 即时编译器)
3 .NET Framework 简介
.NET Framework类似于JVM .NET Framework 两个主要组件:
通用语言运行时 (CLR) 统一的类库集
.NET的类库:
线程 文件输入/输出 (I/O) 数据库支持 XML 解析 数据结构……
通过 CLR将 MSIL 转换为具体 CPU 的 代码
CPU 无关的指令集
清单 元数据 中间语言
client.exe
程序集
清单 元数据 中间语言
client.exe
清单 元数据 中间语言
clientlib.dll
清单 元数据 中间语言
元数据 中间语言
client.exe clientlib.netmodule
包含标准数据类型
包含准则集
对象
类
基本类型
接口 数组 引用类型
结构 枚举 值类型
CLS、CTS 和 MSIL 紧密配合以实现语言互操作性
4 命名空间
命名空间就像在文件系统中一个文件夹容纳多 个文件一样,可以看作某些类的一个容器。通 过把类放入命名空间可以把相关的类组织起来, 并且可以避免命名冲突。命名空间既用作程序 的“内部”组织系统,也用作“外部”组织系 统(一种向其他程序公开自己拥有的程序元素 的方法)
IO, Drawing, Threading
CLR通用语言运行时 (CLR)
操作系统
CLS和CTS
通用语言规范 CLS
Common Language Specification
规定所有 .NET 语言都应 遵循的规则
生成可与其他语言互操作 的应用程序
通用类型系统 (Common Type System, CTS)