最新C入门经典

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
管理对文件和流的同步和异步访问
System.Windows 处理基于窗体的窗口的创建
System.Reflection 包含从程序集读取元数据的类 System.Threading 包含用于多线程编程的类 System.Collections 包含定义各种对象集的接口和类
5 创建“Hello World”应用程序
单击“开始”“程序”“Microsoft Visual Studio .NET 2005”“Microsoft Visual Studio .NET 2005” 此时将打开 VS.NET 2005 的起始页 要创建 C# 控制台应用程序,请从列表中选择 “创 建建”“项目”。此时将打开“新建项目”窗口 选择“Visual C# 项目”作为项目类型,选择“控 制台应用程序”作为模板
通用语言运行时CLR
.NET 源 代码
语言 编译器
CLR MSIL + 元数据
机器 代码
代码 被执行
管理内存
易于设计组件和应用程 序,其对象可以跨语言 互动
跨语言集成(特别 是跨语言继承)
JIT 编译器:一次编译,就可 运行在支持运行库的任何 CPU 和操作系统上
.NET的语言互操作性:
不同语言编写的代码可互相调用
C入门经典
1 C#语言的由来
在过去的二十年里,C和C++已经成为在商业软件的开发领域中 使用最广泛的语言。它们为程序员提供了十分灵活的操作,不过 同时也牺牲了一定的开发效率。与VB等语言相比,同等级别的 C/C++应用程序往往需要更长时间来开发。由于C/C++语言的 复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与 效率之间找到一个更为理想的权衡点。
程序集
清单 元数据 中间语言
client.exe
清单 元数据 中间语言
clientlib.dll
清单 元数据 中间语言
元数据 中间语言
client.exe clientlib.netmodule
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
Visual Studio .NET 2005 创建一个与项目同名的文 件夹,此处为“HelloWorld” 该文件夹包含项目文件“HelloWorld.csproj”和其他 关联文件 每个新项目都创建了 bin、obj和Properties 三个文 件夹。 Bin和obj这两个文件夹下都有一个 Debug 子目录, 其中包含可执行文件 HelloWorld.exe 在“解决方案资源管理器”中启用“显示所有文件”选项, 可查看“HelloWorld”项目的结构
使用命名空间: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 {
… }
IO, Drawing, Threading
CLR通用语言运行时 (CLR)
操作系统
CLS和CTS
通用语言规范 CLS
Common Language Specification
规定所有 .NET 语言都应 遵循的规则
生成可与其他语言互操作 的应用程序
通用类型系统 (Common Type System, CTS)
C# 模板
输出
Console.WriteLine("Hello World");
“Hello World”应用程序文件
HelloWorld.csproj AssemblyInfo.cs Program.cs
编译和执行 C# 应用程序
要生成 C# 项目,请从菜单中选择“生成” “ 生成解决方案”
}
3.cs
using a1;
using a2;
a1.A
a2.A
namespace a2 {
class A {
… }
}
常用命名空间
命名空间
System.Drawing System.Data System.IO
说明
处理图形和绘图,包括打印 处理数据存取和管理,在定义 ADO.NET 技术中扮 演重要角色
包含标准数据类型
包含准则集
对象

基本类型
接口 数组 引用类型
结构 枚举 值类型
CLS、CTS 和 MSIL 紧密配合以实现语言互操作性
4 命名空间
命名空间就像在文件系统中一个文件夹容纳多 个文件一样,可以看作某些类的一个容器。通 过把类放入命名空间可以把相关的类组织起来, 并且可以避免命名冲突。命名空间既用作程序 的“内部”组织系统,也用作“外部”组织系 统(一种向其他程序公开自己拥有的程序元素 的方法)
该过程将编译项目中包括的所有文件,编译结 果显示在“输出”窗口中
如果结果显示“生成: 1 成功或最新,0失败,0 被跳过”,则说明已经成功生成,然后即可交付 该应用程序
要运行刚才生成的应用程序,请从菜单中选 择“调试”“开始执行(不调试)”
输出结果显示在 VS.NET 控制台窗口中
C# 应用程序文件夹结构
VB以牺牲灵活性的代价来提高效率。可是这些灵活性正是 C/C++程序员所需要的。这些解决方案对编程人员的限制过多( 如屏蔽一些底层代码控制的机制),所提供的功能难以令人满意 。这些语言无法方便地同早先的系统交互,也无法很好地和当前 的网络编程相结合。
清单 元数据 中间语言
client.exe
.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:
C#的平台移植性:
框架 JIT编译器(Just In Time, 即时编译器)
3 .NET Framework 简介
.NET Framework类似于JVM .NET Framework 两个主要组件:
通用语言运行时 (CLR) 统一的类库集
.NET的类库:
线程 文件输入/输出 (I/O) 数据库支持 XML 解析 数据结构……
相关文档
最新文档