1. 了解C#语言
1.1 实现功能
- 对集成现有代码提供完全COM/平台。
- 通过提供垃圾回收和类型安全实现可靠性。
- 通过提供内部的代码信任机制保证安全性。
- 完全支持可扩展元数据概念。
- 通过COM+ 1.0和.NETFramework服务提供具有紧密库访问的完全相互作用支持。
- 对基于Web的组件交互提供XML支持。
- 版本转换功能使管理和部署变得简易。
1.2 C#程序的常规结构
using System;
namespace MyNamespace1{
class MyClass1{ } //类
struct MyStruct{ } //结构
interface MyInterface{ } //接口
delegate int MyDelegate{ } //委托
enum MyEnum{ } //枚举
}
namespace MyNamespace2{ } //命名空间2
class MyClass2{
public static void Main(string[] args) //Main方法,即程序主方法(入口)
{
}
}
}
1.3 与其他语言的区别
1.3.1 C#与Java比较
- 在C#编写程序中的Main()方法的首字母要大写,Java编写程序中的main()方法的首字母是小写的。
- C#在值类型的引用类型之间进行装箱和拆箱操作,无需创建包装类型。
- Java中的最终类在C#中是密封的。
- 默认情况下,C#中的方法是非虚拟方法。
- 为了包括编辑器的其他信息,C#支持属性操作。
1.3.2 C#与C/C++比较
- 在C#程序中,类定义中的右大括号后不必使用分号。
- C#的Main()方法的首字母大写,而且是静态类的成员,该方法的返回类型为int或void。
- C#中的每个程序都必须包含Main()的方法,否则该程序不能编译。
- C#中内存直接使用垃圾收集系统来管理。
- C#中条件必须是Boolean。
- C#中switch语句和break语句是不可选的。
- C#中默认值由编译器分配(引用类型为null,值类型为0)。
1.3.3 C#与Visual Basic比较
- C#使用分号结尾而不是分行符。
- C#区分大小写,例如Main()方法的首字母大写。
- 条件必须为Boolean。
2. 了解 .NET Framework
2.1 .NET Framework
2.2 公共语言运行时
2.3 常用命名空间
2.3 编译执行 .NET 程序
3. 程序集
3.1 程序集的功能
程序集是 .NET Framework应用程序的构造块,它构成了部署、版本控制、重复使用、激活范围控制和安全权限的基本单元。
- 包含公共语言运行时执行的代码。
- 形成安全边界。
- 形成类型边界。
- 形成引用范围边界。
- 形成版本边界。
- 形成部署单元。
- 支持并行执行的单元。
3.2 程序集的内容
一般情况下,静态程序集通常由以下4个元素组成。
- 程序集清单,包含程序集元数据。
- 类型元数据。
- 实现这些类型的 Microsoft 中间语言 (MSIL) 代码。
- 资源集。
单文件程序集结构图
多文件程序集结构图
3.3 常用的程序集
程序集名称 | 说明 |
---|---|
System.dll | 定义数据类型,如Int和Long,还可以定义基本的数据类型,如System.Object。 |
System.Windows.Forms.dll | 包含用来实现桌面应用程序使用的窗体控件,以及创建这些窗体的组件。 |
System.XML.dll | 包含处理文档所必须的组件。 |
System.Drawing.dll | 包含用于向输出设备绘制的各种图形的组件。 |
System.Data.dll | 定义组成ADO.NET的组件。 |