.NET 平台:从基础概念到跨平台应用
1. 程序集、命名空间和类型的区别
代码库的重要性不言而喻,像 MFC、Java Enterprise Edition 和 ATL 这类库,旨在为开发者提供一套明确的现有代码,以便在应用程序中使用。不过,C# 语言本身并没有特定于该语言的代码库,C# 开发者主要利用与语言无关的 .NET 库。为了让基类库中的所有类型组织有序,.NET 平台广泛运用了命名空间的概念。
命名空间是程序集中语义相关类型的分组。例如, System.IO
命名空间包含与文件 I/O 相关的类型, System.Data
命名空间定义了基本的数据库类型等。需要着重指出的是,单个程序集(如 mscorlib.dll
)可以包含任意数量的命名空间,而每个命名空间又可以包含任意数量的类型。
与特定语言库(如 MFC)不同的是,任何针对 .NET 运行时的语言都使用相同的命名空间和类型。以下是用 C#、VB 和 C++/CLI 编写的 “Hello World” 应用程序示例:
// Hello world in C#
using System;
public class MyApp
{
static void Main()
{
Console.WriteLine("Hi from C#");
}
}
' Hello world in VB
Imports Syste