这本书主要是第二层次:程序集、应用域、线程、命名空间。先学好这个。再去学习高级特性。第三个层次是:.NET的核心服务,如跨语言编程、异常处理、安全性。第四个层次是:高级特性,例如远程处理框架、互操作服务、ADO.NET数据访问、GDI+绘图等。
熟悉完C#之后,再开始研究ASP.NET
第一个体会
值传递
- using System;
- namespace example1
- {
- class example1
- {
- class Myclass
- {
- static public void ByValue(int i)
- {
- i = 20;
- }
- }
- public static void Main()
- {
- int i = 10;
- Console.WriteLine("Initial i="+i);
- Myclass.ByValue(i);
- Console.WriteLine("ByValue i = "+i);
- }
- }
- }
在调用堆栈的时候是i的副本而不是i本身。在ByValue方法中的代码可以任意改变传入的参数值,但是当该方法返回后,在方法中对参数的所有修改都会丢失。
公共语言运行库
-
性能的提升,包括内存管理、代码优化和安全性
-
能够重用用其他语言开发的组件
-
类的跨语言继承
-
垃圾回收
-
允许编译器针对目标IL输出,而不是针对特定的CPU或操作系统
-
程序集中的元数据
-
统一的线程模型
-
免除了DLL陷阱(DLL hell)
因为运行库只需要理解IL,所以任何语言的执行都可以将.NET平台作为目标平台。
类基库
命名空间 | 关键类 |
System | 基本类型(int, char, string) 控制台I/O的控制台类 标准异常 |
System.Diagnostics | 调试类 跟踪侦听器 性能计数器 |
System.Drawing | 图像支持 2D/3D图形支持 |
System.IO | 文件I/O 流 |
System.Reflection | 元数据类;用于方法、属性和字段的动态发现 |
System.Text | 文本操作类 StringBuilder |
System.Text.RegularExpression | 完全正则表达式的支持 |
System.Web | 基础Web核心类 HttpHandlers |
System.Web.UI | 核心Web用户界面(UI)类 |
System.Web.UI.HtmlControls | 标准HTML控制类 |
System.Web.UI.WebControls | 标准HTML控件的.NET版本,如按钮、单选按钮、表格等 |
System.Windows.Forms | Windows开发 UI控件 |
看到Page37