180 likes | 329 Views
第一章. .NET Framework 简介. 课程地位. Computer Base. STB. SQL Base. OOP/Java. HTML/JavaScript. C. C#. SQL Server. JSP /Servlet. Testing/SQA. WinForms. Oracle. XML. EJB/WebService. Linux. ASP.NET. Struts/JSF. PSPM. OOAD. 课程目标. 理解 .NET 平台特征和使用 C# 语言语法 面向对象设计在 C# 中的实现和表达
E N D
第一章 .NET Framework简介
课程地位 Computer Base STB SQL Base OOP/Java HTML/JavaScript C C# SQL Server JSP/Servlet Testing/SQA WinForms Oracle XML EJB/WebService Linux ASP.NET Struts/JSF PSPM OOAD
课程目标 • 理解.NET平台特征和使用C#语言语法 • 面向对象设计在C#中的实现和表达 • 基本的WinForms桌面客户端程序设计 • 使用.NET中的核心对象如多线程、集合、文件操作等 • 为后续WinForms、ASP.Net网络应用开发提供语言基础
本章目标 • 了解.NET Framework 的结构 • 理解.NET Framework 的基本概念 • CLR • JIT • CTS • MSIL • 了解.NET Framework 命名空间 • 了解C#程序的基本结构
问题 • 一个软件公司有两组程序员,一组程序员只会使用C++,一组程序员只会使用VB,现在有一个大型项目需要大量人员参加,我们能让这两组人在一起工作吗? • 我们能用ASP调用C++写的类库吗?
解决 • 怎么办? • 这就是 .NET Framework 要解决的问题 • 什么是 NET Framework • .NET Framework 是如何解决这类问题的 答案是否定的!
.NET Framework简介 • .NET Framework类似于JVM • .NET Framework两个主要组件: • 公共语言运行时 (CLR) • 统一的类库集 • .NET的类库: • 线程 • 文件输入/输出 (I/O) • 数据库支持 • XML解析 • 数据结构……
Microsoft.NET Framework的体系结构 VJ# … VC++.Net C# VB.Net .Net Framework类库 (FCL) 公共语言运行时 (CLR) 操作系统
Web Forms Web Services .NET Framework的组件 .Net Framework .Net Framework类库 WinForms ASP.NET ADO.Net和 XML 类 基本框架类 CLR CLS CTS
模拟CLR和MSIL 日语 汉语 翻译 英语(中间语言)
编译器 运行时环境 相似点: CLR 和 MSIL 2-1 计算机编程语言 C++ Visual Basic 代码 代码 可执行代码 可执行代码 操作系统服务 (内存管理和文件 I/O) MSVBVM60.DLL MSVCRT.DLL 需要公共运行时环境…… 为了与一套运行时服务配合工作,.NET Framework 提供了公共语言运行时 (CLR)
CLR和MSIL2-2 • 有了CLR, 保证了 .NET中一种语言具有的功能 其他语言也都具有 • Microsoft中间语言 (MSIL)由一组特定的指令组成,这些指令指明如何执行代码 • JIT编译器的主要工作是将普通 MSIL代码转换 为可以直接由CPU执行的计算机代码 • 验证进程可以轻松读取 MSIL代码
问题 • CLR在.NET Framework 里起到什么样的作用?
CLS和CTS • 通用语言规范 (CLS) • 规定所有 .NET语言都应遵循的规则 • 生成可与其他语言互操作的应用程序 • 公共类型系统 (CTS)通常 • 包含标准数据类型 • 包含准则集 CLS、CTS 和 MSIL 紧密配合以实现语言互操作性
Hello World程序 描述代码的注释 //这是用 C#编写的一个简单的 HelloWorld 程序 using System; namespace Notepad { class HelloWorld { public static void Main() { Console.WriteLine("Hello World"); } } } 导入 System 命名空间 声明命名空间 Notepad 声明 HelloWorld类 程序入口点, Main 的返回类型为 void 控制台类的 WriteLine() 方法用于显示输出结果 将文件保存为 HelloWorld.cs
执行 HelloWorld Compiling and executing a .NET console program 配置命令提示符以执行 .NET 控制台程序
总结 • .NET Framework由 .NET Framework类库和公共语言运行时两个主要组件组成 • CLR是管理用户代码执行的现代运行时环境,它提供JIT编译、内存管理、异常管理和调试等方面的服务 • CTS定义声明、定义和管理所有类型所遵循的规则,而无需考虑源语言 • CLS是所有针对 .NET的编译器都必须支持的一组最低标准,以确保语言的互操作性 • 命名空间是一组包含相关方法的相似类,专门用于避免类与类之间的名称冲突 • 即时 (JIT)编译器将MSIL代码编译为特定于目标操作系统和计算机体系结构的本机代码