C# 高级编程01----.Net基础介绍

时间:2022-04-26 23:33:23

一、C#与.Net 的关系

1)C#语言

  1. C#是一种简洁、类型安全的面向对象语言,可以使用C#语言创建可以在.Net Framework上运行的应用程序

  2. C# 语言功能取决于.Net 的功能,依赖于.Net 基类。也就是C#编写的代码使用.Net Framework运行。

  3. C#只是用于生成.Net 环境的代码,但本身不是.Net 的一部分

2).Net 平台

  1. .Net Framework的核心是运行库执行环境(CLR)

  2. C#源码首先需要编译成Microsoft中间语言(IL),运行库环境(CLR)将中间语言编译成平台专用的代码。

  3. IL编译即时编译(JIT),并不是将整个应用程序都一次性编译完(这样启动时间会很长),它只编译他调用的那部分代码

  4.IL编译成的中间语言使它能支持平台无关性

  5.IL还支持语言互操作。就是任何一种语言编译为中间语言之后,可以与其他语言编译过来的中间语言进行交互。一种语言编写的类可以直接与另一种语言编写的类进行通信

3).Net 支持的语言:

  VB.Net(Visual Basic 6 以前不适合)、Visual C++ 6、F#

4)语言之间的互操作实现

数据类型:

  .Net 中使用通用类型系统(CTS)定义了中间语言中使用的预定义数据类型,所有面向.Net Framework的语言都可以生成基于这些类型的编译代码

  如:VB语言中的Integger类型映射到中间语言为Int32,C#语言使用int来表示Int32

公共语言规范(CLS):

  CLS 是一个最低标准集,所有面向.Net 的编译器都必须支持它。

二、面向.Net 的所有语言都需要支持的IL特征:

  1.支持面向对象可以使用接口。

  2.值类型和引用类型的区别

      1)值类型直接在栈内存存储数据

      2)引用类型在堆内存存放地址,通过地址来找到对应的数据

  3. 强数据类型

  4.使用异常处理错误

  5. 使用特性(attribute)

三、程序集

  1. 程序集(assembly)是包含编译好的,面向.Net Framework的代码逻辑单元

C# 高级编程01----.Net基础介绍

  2. 反射

  程序集存储了元数据,元数据中包含了程序集中定义的所有类型和类型的成员细节,可以通过反射访问这些元数据

四、.Net 4.5 基类

  • IL提供的核心功能(CTS中的基本数据类型等)
  • Windows UI支持和控件
  • ASP.NET 的Web窗体和MVC
  • ADO.Net 和XML进行数据访问
  • 文件系统和注册表访问
  • 网络和Web浏览
  • .Net特性和反射
  • COM互操作性