加入园子有好长时间了,也看过了不少帖子,一直没有写过。现在在看C#高级编程,在此做个记录,分享给大家。写的不好,有问题大家多多指教!
第一章 .NET体系结构
次章主要介绍了.NET的组成及结构,.NET语言之间的互操作性,以及.NET的特性。例如CLR、CLS、CTS、MSIL等。
1.1 C# 与 .NET的关系
1)C#是专门为MS .NET Framework 起使用而设计的;(C#本身是一种语言, 部是.NET的一部分。.NET所支持的,C#不一定支持,反之一样。)
2)C#是基于面向对象的设计方法的语言;
1.2 公共语言运行库
.NET Framework 的核心是其运行的执行环境,即CLR(公共语言运行库)。在CLR控制运行下的代码成为托管代码。
.NET 中编译分为两个阶段:
- 把源代码编译为MS中间语言,即IL;
MSIL与 Java 字节码是同一个理念:同样是低级语言,可以非常快的转换为机器代码。此种设计有很重要的优点:平台无关性,提高性能和语言的互操作性。
1)平台无关性
程序编译后可以后可以在任何平台中运行,像Java一样。目前.NET还只能用于weindows系统。
2) 提高性能
IL总是即时编译的(JIT编译)。JIT编译并不是把整个应用程序一次编译完,而是只编译它调用的那部分代码。JIT编译器,确切的知道程序运行在什么类型的处理器上,可以利用该处理器提供的任何特性或特定的机器代码指令来优化最后的可执行代码。
3) 语言的互操作性
将热河一种语言编译为中间代码,编译好的代码可以与从其他语言编译过来的代码进行交互操作。
2. CLR把IL编译为平台专用的代码。
1.3 中间语言
C# 代码在执行前要编译为中间语言。IL主要特征:
- 面向对象和使用接口
- 值类型和引用类型之间的巨大差别
- 强数据类型
- 使用异常来处理错误
- 使用特性
1.4 程序集
程序集(Assembly)是包含编译好的、面向.NET Framwork的代码的逻辑单元,它可以存储在多个文件中。它包含的元数据描述了对应代码中定义的类型和方法。
Assembly有两种类型:共享程序集和私有程序集。
1)私有程序集:是一种简单的程序集,一般附带在某个软件上,且只能用于该软件。
2) 共享程序集:是其它应用程序可以使用的公共库。
1.5 .NET Framework 类
.NET 基类是一个内容丰富的托管代码类集合,.NET基类的一个优点是他们非常直观和易用。
1.6 命名空间
命名控件是.NET避免类名冲突的一种方式。
1.7 用C#创建.NET应用程序
C#可以用于创建控制台应用程序、ASP.NET应用程序、创建Windows应用程序、WPF、Windwos控件、Windows服务、WCF等。