1、C#和 NET Framework 含义
2、NET Framework的工作原理和特别之处
3、C#的功能
-------------------------------
1.1什么是NET Framework?
答:NET Framework 是 微软公司为开发应用程序而创建的新平台。
(1). 该定义没有规定必须在windows操作系统开发应用程序。
(2). 该定义没有限制应用程序的类型。
(3). NET Framework可以用于各种语言(C#、C++、Visual Basic、JScript、COBOL 诱人前景)。
1.1.1 NET Framework 的内容
答:NET Framework 包含 一个非常大的代码库。
(1). NET Framework 代码库 包含不同模块,如:windows 应用程序的构件、联网的代码块、web开发的代码块、通用类型系统(Common Type System,CTS)、公用语言运行库(Common Language Runtime,CLR)。
(2). 通用类型系统(Common Type System,CTS):该库定义了一些基本类型,以便使用 NET Framework 在各种语言之间进行交互操作。
(3). 公用语言运行库(Common Language Runtime,CLR):负责管理 NET Framework 库的所有应用程序的执行。
-------------------------------------------------------------------
1.1.2 如何用 .NET Framework 编写应用程序
(1). MSIL和 JIT
.NET Framework 库代码--------VS的JIT(Just-In-Time)编译-------->Microsoft 中间语言(Microsoft Intermediate Language, MSIL)--------VS的JIT(Just-In-Time)编译-------->专用于操作系统OS和目标机器的本机代码。
(2).程序集
在编译时,创建的 MSIL 代码存储在程序集中。
程序集包括:应用程序文件(扩展名是exe)、应用程序使用的库(扩展名是.dll)、元信息(即:元数据,程序集中包含的数据的信息)、可选的资源(MSIL 使用的其他数据如:声音和图片)。
程序集是自我描述性,不需要其他信息就可以使用程序集。(不需要注册表写入)
应用程序部署:只需把文件复制到远程计算机上的目录即可。
把可重用的代码(可以执行多个应用程序所要求任务的代码)放在所有应用程序都可以访问的地方。
在.NET Framework 中,这个地方是全局程序集高速缓存(Global Assembly Cache,GAC)。
(3). 托管代码
Microsoft 中间语言(Microsoft Intermediate Language, MSIL)--------VS的JIT(Just-In-Time)编译-------->专用于操作系统OS和目标机器的本机代码------->CLR托管执行本机代码。(这个阶段称为:运行时runtime是托管的)。
C#中,只能编写托管环境下运行的代码,目的让.net自己与操作系统进行交互。
C++编写的是非托管的代码。
(4).垃圾回收(garbage collection)
这种.net方法可以确保应用程序不再使用某些内存时,这些内存就会完全释放。
提示:设计应用程序时,记得做内存释放检查,不能等垃圾回收。
(5).把它们组合在一起
(6).链接
C#代码存放在多个源文件中,再把它们编译到一个程序集中,这个过程称为链接。
==============================
1.2什么是C#
C#是可用于创建要运行在.NET CLR上的应用程序的语言之一,它从C和C++语言演化而来,是Microsoft专门为使用.NET平台而创建的。
C# 优点:C#是一种类型安全的语言,是唯一为.NET Framework设计的语言,是在移植到其他操作系统上的.NET 版本中使用的主要语言。
---------------------------------
1.2.1 用C#能编写什么样的应用程序
以下仅仅是几种常见的应用程序类型,这些类型也需要某些数据库访问,可以通过.NET Framework 的 Active Data Object.NET(ADO.NET)部分实现。
Windows 应用程序:使用.NET Framework 的 Windows Forms模块生成的应用程序。
Web应用程序(Active Server Pages.NET[asp.net]):通过Web Forms创建的asp.net应用程序。
Web服务:创建各种分布式应用程序的新方式,使用Web服务可以通过 Internet 虚拟交换数据。【无论什么语言创建的web服务,也无论web服务驻留在什么系统上,都使用一样简单的语法】
********术语************
Object-Oriented Programming,OOP 面向对象编程。
解决方案不仅是一个应用程序,可以包含多个项目。