




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.NET技术 薛梅 学习方法 理论 参考书 网站资源 实践 上机操作 第 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+程序员所需要的 。 这些解决方案对编程人员的限制过多 ( 如屏蔽一些底层代码控制的机制 ) , 所提供的功能难以令人满意 。 这些语言无法方便地同早先的系统交互 , 也无法很好地和当前的网络编程相结合 。 对于 C/C+用户来说,最理想的解决方案无疑是在 快速开发的同时又可以调用底层平台的所有功能 。他们想要一种和最新的网络标准保持同步并且能和已有的应用程序良好整合的环境。另外,一些 C/C+开发人员还需要在必要的时候进行一些底层的编程。 C# (C sharp) 是对这一问题的解决方案。 C#是一种新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序, Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。 C#语言的特点: C#语言是 Microsoft发布的一种全新的编程语言 ,是其 .Net战略的一枚重要棋子。 C#语言是面向对象的、现代的编程语言,用 C#编写的应用程序可以充分利用 .Net的框架体系带来的优点 .既可以用来编写基于通用网络协议的 Internet服务软件 ,也可以编写各种数据库、网络服务应用程序和Windows窗口界面程序。 C#继承了 C/C+的优点和灵活性,能够充分利用 OS系统的底层功能,同时又具备了完全的面向对象特性。可以让初学者直接了解面向对象编程的各种概念,学习现代的编程思想和手段。 C#.NET与其他语言 对比 : C#.NET与 Java C#.NET与 C+ C#与 C+ C#是建立在 .NET类库基础上的高级语言,没有 C+中的多重继承、模板类等概念,不支持C+中的一些低级操作。 C#中用户不能控制对象的生存期, 无用信息收集器会在合适的时候回收对象的内存,但是回收时间不确定。 是一套完整的开发工具,是一个集成开发环境( IDE)。用于生成 Windows应用程序、 ASP.NET Web应用程序、 XML Web Services和移动应用程序。其中包含的 Visual Basic.NET、 Visual C+.NET、 Visual C#.NET等,全都使用相同的集成开发环境,该环境允许它们共享工具并有助于创建混合语言解决方案。 VS.NET2003,2005,2008,2010的版本: 专业版、企业级开发版、 Express版 。 核心开发语言: Visual Basic、 Visual C+、 Visual C#、 Visual J#。 Microsoft Visual Studio.NET( VS.NET) Visual Studio .NET 的编程功能和编程特点 集成开发环境 Visual Studio .NET 设计 开发 调试 部署 数据访问 XML Web Service 工具 Windows 窗体工具 Web 窗体 工具 错误处理 多语言支持 代码 被执行 C+ VB 编译器 编译器 可执行 代码 可执行 代码 R U N T I M E R U N T I M E 2 .NET代码的编译 语言特定的编译器和运行库 代码 被执行 C+ VB 编译器 编译器 可执行 代码 可执行 代码 R U N T I M E R U N T I M E IL + 元数据 C L RIL 和 CLR 的使用 Intermediate Language Common Language Runtime 编译执行 .NET 程序 MSIL + 元数据 机器 代码 代码 被执行 CLR 第一次编译 第二次编译 .NET 程序被编译两次,第一次编译很慢,而第二次编译较快! 语言 编译器 .NET 源代码 Microsoft 中间语言 MSIL + 元数据 机器 代码 代码 被执行 CLR MSIL 帮助语言实现互操作 IL 不是字节代码,但很接近字节代码。因此,执行应用程序时, IL 到机器码的转换速度非常快! 通过 CLR将 MSIL 转换为具体 CPU 的代码 CPU 无关的指令集 语言 编译器 .NET 源 代码 程序集 清 单元 数 据中 间 语 言清 单元 数 据中 间 语 言清 单元 数 据中 间 语 言client.exe client.exe clientlib.dll 清 单元 数 据中 间 语 言元 数 据中 间 语 言client.exe module 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 通用语言运行时 CLR CLR .NET 源 代码 MSIL + 元数据 机器 代码 代码 被执行 管理内存 易于设计组件和应用程序,其对象可以跨语言互动 跨语言集成(特别是跨语言继承) JIT 编译器:一次编译,就可运行在支持运行库的任何 CPU 和操作系统上 语言 编译器 .NET的语言互操作性: 不同语言编写的代码可互相调用 C#的平台移植性: 框架 JIT编译器 (Just In Time, 即时编译器 ) 3 .NET Framework 简介 .NET Framework类似于 JVM .NET Framework 两个主要组件: 通用语言运行时 (CLR) 统一的类库集 .NET的类库 : 线程 文件输入 /输出 (I/O) 数据库支持 XML 解析 数据结构 .NET Framework 的体系结构 Visual Studio .NETCLR通用语言运行时 (CLR) Base Class Library: IO, Drawing, Threading Data and XML XML Web services Windows Forms Web Forms 通用语言规范 (CLS) VB C+ C# JScript 操作系统 .Net Framework 类库 (FCL) CLS和 CTS 通用语言规范 CLS Common Language Specification 规定所有 .NET 语言都应遵循的规则 生成可与其他语言互操作的应用程序 通用类型系统 (Common Type System, CTS) 包含标准数据类型 包含准则集 CLS、 CTS 和 MSIL 紧密配合以实现语言互操作性 对 象类接 口数 组基 本 类 型结 构枚 举引 用 类 型 值 类 型 命名空间就像在文件系统中一个文件夹容纳多个文件一样,可以看作某些类的一个容器。通过把类放入命名空间可以把相关的类组织起来,并且可以避免命名冲突。命名空间既用作程序的“内部”组织系统,也用作“外部”组织系统(一种向其他程序公开自己拥有的程序元素的方法) 使用命名空间: using 类似 #include 4 命名空间 1.H class A 2.H class A 3.cpp #include “1.h” #include “2.h” . 3.cpp class A class A namespace a1 class A namespace a2 class A 3.cs using a1; using a2; a1.A a2.A 常用命名空间 命名空间 说明 System.Drawing 处理图形和绘图,包括打印 System.Data 处理数据存取和管理,在定义 ADO.NET 技术中扮演重要角色 System.IO 管理对文件和流的同步和异步访问 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# 项目”作为项目类型,选择“控制台应用程序”作为模板 C# 模板 Console.WriteLine(Hello World); 输出 HelloWorld.csproj AssemblyInfo.cs Program.cs “Hello World”应用程序文件 编译和执行 C# 应用程序 要生成 C# 项目,请从菜单中选择“生成” “ 生成解决方案” 该过程将编译项目中包括的所有文件,编译结果显示在“输出”窗口中 如果结果显示“ 生成 : 1 成功或最新, 0失败,0被跳过 ”,则说明已经成功生成,然后即可交付该应用程序 要运行刚才生成的应用程序,请从菜单中选择“调试” “开始执行 (不调试 )” 输出结果显示在 VS.NET 控制台窗口中 C# 应用程序文件夹结构 Visual Studio .NET 2005 创建一个与项目同名的文件夹,此处为“ HelloWorld” 该文件夹包含项目文件“ HelloWorld.csproj”和其他关联文件 每个新项目都创建了 bin、 obj和 Properties 三个文件夹。 Bin和 obj这两个文件夹下都有一个 Debug 子目录,其中包含可执行文件 HelloWorld.exe 在“解决方案资源管理器”中启用“显示所有文件”选项,可查看“ HelloWorld”项目的结构 /这是用 C# 编写的一个简单的 HelloWorld 程序 using System; namespace Notepad class HelloWorld static void Main() Console.WriteLine(Hello World); 声明 HelloWorld 类 描述代码的注释 Hello World 程序 程序入口点, Main 的返回类型为 void 控制台类的 WriteLine() 方法用于显示输出结果 导入 System 命名空间 声明命名空间 No
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承包装修木工合同3篇
- 食堂托管管理合同营养健康方面的补充协议3篇
- 绿化合伙人协议书5篇
- 合作合同范本哪里卖
- 委托加工油合同范本
- 合同范本开头怎么写
- 场地出租合同书范文3篇
- 钢材买卖中介合同范本
- 超市商品经销合同范本
- 代理信息咨询合同范本
- 广东省广州市越秀区2025年七年级英语第二学期期末学业质量监测试题含答案
- 第四单元第1课《寻根之旅》课件-人教版初中美术七年级下册
- 治具设计规范与技术标准
- 成人床旁心电监护护理规程
- 2025年高考全国一卷语文试题真题文档版(含答案)
- 红岩中考试题及答案
- 心内科专科护士考试试题及答案
- 会务接待工作流程
- 船舶劳务分包合同协议
- 《医疗的人文关怀》课件
- 非盗抢汽车合同协议
评论
0/150
提交评论