### C#语言参考(ASP.NET)
#### 1. 引言
C# 是一种结合了高效性和灵活性的现代化编程语言,旨在为开发人员提供一种既简单又强大的编程体验。该语言的设计灵感来源于 C 和 C++,同时融合了 Visual Basic 的易用性与 C++ 的强大功能,使得开发人员能够在开发过程中保持高效率。
C# 作为 Microsoft Visual Studio 7.0 的一部分首次推出,随后成为 .NET 框架的核心语言之一。.NET 框架不仅支持 C#,还包括其他语言如 Visual Basic 和 Visual C++,以及脚本语言 VBScript 和 JScript。这些语言共同构成了一个统一的编程环境,允许开发者轻松地跨语言共享代码和组件。.NET 平台还定义了一个“通用语言子集”(CLS),这是一个跨语言的标准集合,有助于确保不同语言之间的互操作性。
C# 虽然是一门新语言,但得益于其与 .NET 平台的紧密集成,它能够直接访问由其他老牌工具如 Visual Basic 和 Visual C++ 使用的丰富类库。此外,C# 语言自身并不包含类库,而是依赖于 .NET Framework 提供的强大类库支持。
#### 1.1 Hello, World 示例
C# 的入门程序通常从经典的 “Hello, World” 程序开始:
```csharp
using System;
class Hello {
static void Main() {
Console.WriteLine("Hello, world");
}
}
```
- **`using System;`**:这行代码指定了 `System` 命名空间。在 .NET 类库中,`System` 包含了许多基本的类和接口,比如 `Console` 类,它提供了控制台输入输出的功能。
- **`class Hello`**:定义了一个名为 `Hello` 的类。
- **`static void Main()`**:定义了一个静态方法 `Main`。这是程序的入口点,在程序启动时首先调用此方法。
- **`Console.WriteLine("Hello, world");`**:通过调用 `Console.WriteLine` 方法在控制台上打印出 "Hello, world" 字符串。
程序的源代码通常保存在一个或多个 `.cs` 文件中,如 `hello.cs`。使用 Visual Studio 的编译器,可以通过命令 `csc hello.cs` 编译该程序,生成名为 `hello.exe` 的可执行文件。
#### 1.2 类型系统
C# 支持两种类型:值类型(value type)和引用类型(reference type)。
- **值类型**:包括基本类型(如 `int`、`char` 和 `float`)、枚举类型和结构体类型。这些类型的变量直接存储数据值。例如:
```csharp
int val = 10;
```
- **引用类型**:包括类类型、接口类型、委托类型和数组类型。这些类型的变量存储的是对象的引用而非实际的数据。这意味着两个不同的变量可以指向同一个对象。例如:
```csharp
class Class1 {
public int value = 0;
}
Class1 obj1 = new Class1();
Class1 obj2 = obj1; // obj2 现在指向与 obj1 相同的对象
```
#### 结论
C# 语言的设计旨在提高开发者的生产效率,并利用 .NET 平台的强大功能。通过学习 C# 的基础知识,开发人员可以迅速上手并开始创建复杂的应用程序。无论是构建桌面应用、Web 应用还是移动应用,C# 都是一种值得信赖的选择。