更新:2007 年 11 月
本主题链接到有关广泛使用的 C# 语言任务的帮助。若要查看帮助中介绍的其他类别的常用任务,请参见如何实现 - C#。
C# 语言
C# 中的新增功能
包含有关新增语言功能的信息,例如查询表达式、集合初始值设定项、lambda 表达式、匿名类型、自动实现的属性、分部方法等。此外,还指向有关 Visual C# IDE 中的新增功能的信息。C# 语言规范
提供指向规范的最新版本(Microsoft Word 格式)的链接。
命令行
Main() 和命令行参数(C# 编程指南)
解释 Main 方法,它是程序的入口点,可以在此创建对象和调用其他方法。C# 程序中只能有一个入口点。如何:使用 foreach 访问命令行参数(C# 编程指南)
提供一个代码示例,演示如何访问命令行参数。如何:显示命令行参数(C# 编程指南)
解释如何通过 args 字符串数组显示命令行参数。Main() 返回值(C# 编程指南)
解释 Main 方法可能的返回值。
类与继承
如何:在不调用构造函数的情况下初始化对象(C# 编程指南)
演示如何使用对象初始值设定项。base(C# 参考)
解释如何指定在创建派生类的实例时调用的基类构造函数。如何:了解向方法传递结构和向方法传递类引用之间的区别(C# 编程指南)
包含一个代码示例,显示向方法传递结构时,将传递该结构的副本,而传递类实例时,将传递一个引用。实例构造函数(C# 编程指南)
解释类构造函数与继承。如何:编写复制构造函数(C# 编程指南)
包含一个演示类的构造函数如何将另一对象看作参数的代码示例。如何:在结构间实现用户定义的转换(C# 编程指南)
包含一个定义了两个结构并演示二者之间的转换的代码示例。
类型
类型(C# 编程指南)
提供对 C# 和 .NET Framework 中包含的类型的概述。强制转换和类型转换(C# 编程指南)
说明如何使用隐式和显式转换。装箱和取消装箱(C# 编程指南)
包含一些演示如何将值类型装箱和取消装箱的示例。如何:使用 as 和 is 运算符安全地进行强制转换(C# 编程指南)
演示如何进行强制转换而不会引发 InvalidCastException。如何:将字节数组转换为 int(C# 编程指南)
演示如何从字节数组转换为 System.Int32 类型。如何:将字符串转换为整型(C# 编程指南)
如何将字符串值(如“432”)转换为整数。如何:在十六进制字符串与数值类型之间转换(C# 编程指南)
如何将字符串值(如“0xA10”)转换为整数。
数组
作为对象的数组(C# 编程指南)
包含一个显示数组的维数的代码示例。交错数组(C# 编程指南)
包含这样一个代码示例:它生成了一个数组,该数组的元素自身也是数组。将数组作为参数传递(C# 编程指南)
包含这样一些代码示例:它们将一个字符串数组初始化,然后将其作为参数传递给 PrintArray 方法,该方法显示了该数组的元素。使用 ref 和 out 传递数组(C# 编程指南)
包含一些代码示例,这些示例演示了 out 与 ref 在用于向方法传递数组时的差异。如何:在查询表达式中使用隐式类型的局部变量和数组(C# 编程指南)
解释如何对数组和局部变量使用隐式类型化。
属性
如何:使用自动实现的属性实现轻量类(C# 编程指南)
演示如何创建封装一组属性的小型类。如何:声明和使用读/写属性(C# 编程指南)
包含一个示例,该示例演示如何声明和使用读/写属性。如何:定义抽象属性(C# 编程指南)
包含一个代码示例,显示如何定义抽象属性。
方法
传递值类型参数(C# 编程指南)
包含演示传递值类型的各种方法的代码示例。传递引用类型参数(C# 编程指南)
包含演示传递引用类型的各种方法的代码示例。如何:实现和调用自定义扩展方法(C# 编程指南)
解释如何创建可像其他类型的实例方法一样进行调用的静态方法。
事件
如何:订阅和取消订阅事件(C# 编程指南)
演示如何订阅由其他类(例如窗体、按钮、列表框等等)发布的事件。如何:发布符合 .NET Framework 准则的事件(C# 编程指南)
演示如何基于 EventHandler 和 EventHandler<TEventArgs> 创建事件。如何:实现接口事件(C# 编程指南)
演示如何实现在接口中声明的事件。如何:使用字典存储事件实例(C# 编程指南)
解释如何使用哈希表存储事件实例。如何:在派生类中引发基类事件(C# 编程指南)
演示如何用受保护的虚方法包装基类事件,以便从派生类调用这些事件。如何:实现自定义事件访问器(C# 编程指南)
演示如何重写 add 和 remove 事件访问器。
接口
如何:显式实现接口成员(C# 编程指南)
演示如何声明显式实现接口的类,以及如何通过接口实例来访问成员。如何:使用继承显式实现接口成员(C# 编程指南)
提供同时以公制单位和英制单位显示框尺寸的示例。
泛型
.NET Framework 中的泛型
解释 System.Collections.Generic 命名空间中新的泛型集合组的功能和使用方法。泛型代码中的默认关键字(C# 编程指南)
提供一个代码示例,演示如何使用类型参数的默认关键字。泛型方法(C# 编程指南)
介绍声明泛型方法的语法。还提供一个示例,演示如何在应用程序中使用泛型方法。类型参数的约束(C# 编程指南)
演示如何约束类型参数,以启用对用于实例化泛型类的类型的方法和属性的访问。泛型委托(C# 编程指南)
包含用于声明泛型委托的语法。还提供有关实例化和使用泛型委托的重要备注以及代码示例。
命名空间
- 如何:使用命名空间别名限定符(C# 编程指南)
讨论当与某一成员同名的另一个实体可能隐藏该成员时,在全局命名空间中访问该成员的能力。
迭代器
如何:为泛型列表创建迭代器块(C# 编程指南)
提供一个示例,该示例使用整数数组生成 SampleCollection 列表。for 循环会循环访问该集合,并生成每个项的值。然后使用 foreach 循环显示集合中的项。如何:为泛型列表创建迭代器块(C# 编程指南)
提供一个示例,其中泛型类 Stack<T> 实现泛型接口 IEnumerator<T>。声明了一个类型 T 的数组,并使用 Push 方法为该数组赋值。在 GetEnumerator 方法中,使用 yield return 语句返回该数组的值。
委托
匿名函数(C# 编程指南)
描述如何使用 lambda 表达式和匿名方法创建委托类型。如何:合并委托(多路广播委托)(C# 编程指南)
提供一个示例,演示如何撰写多路广播委托。如何:声明、实例化和使用委托(C# 编程指南)
提供一个示例,阐释如何声明、实例化和使用委托。
运算符重载
- 如何:使用运算符重载创建复数类(C# 编程指南)
演示如何使用运算符重载创建定义复数加法的复数类 Complex。
互操作性
- 如何:使用平台调用播放波形文件(C# 编程指南)
阐释如何使用平台调用服务在 Windows 平台上播放波形声音文件。
不安全代码
如何:使用指针复制字节数组(C# 编程指南)
演示如何使用指针将字节从一个数组复制到另一个数组。如何:使用 Windows ReadFile 函数(C# 编程指南)
演示如何调用 Windows ReadFile 函数,由于读取缓冲区要求将指针作为参数,因此该函数要求使用不安全上下文。
线程处理
使用线程和线程处理
提供一个主题列表,讨论托管线程的创建和管理,以及如何避免无法预料的后果。如何:创建和终止线程(C# 编程指南)
提供一个示例,演示如何创建和启动线程,以及在同一进程内同时运行的两个线程如何交互。如何:对制造者线程和使用者线程进行同步(C# 编程指南)
提供一个示例,演示如何使用 C# lock 关键字和 Monitor 对象的 Pulse 方法实现同步。如何:使用线程池(C# 编程指南)
解释一个示例,该示例显示如何使用线程池。
字符串
如何:使用正则表达式搜索字符串(C# 编程指南)
解释如何使用 Regex 类来搜索字符串。这些搜索有的非常简单,有的复杂到需要完全使用正则表达式。如何:串联多个字符串(C# 编程指南)
包含一个代码示例,演示如何联接多个字符串。如何:使用字符串方法搜索字符串(C# 编程指南)
包含一个代码示例,演示如何使用 String 方法搜索字符串。如何:拆分字符串(C# 编程指南)
包含一个代码示例,该代码示例演示如何使用 Split 方法拆分字符串。如何:修改字符串内容(C# 编程指南)
包含这样一个代码示例:它将字符串的内容提取到一个数组中,然后修改该数组的某些元素。
属性
- 如何:使用属性创建 C/C++ 联合(C# 编程指南)
包含一个示例,该示例使用属性 Serializable 将特定特性应用于类。
使用 DLL
- 如何:创建和使用 C# DLL(C# 编程指南)
使用一个示例方案演示如何生成和使用 DLL。
程序集
如何:确定文件是否为程序集(C# 编程指南)
包含一个示例,该示例对某个 DLL 进行测试,以确定它是否为程序集。如何:加载和卸载程序集(C# 编程指南)
解释如何可在运行时将特定的程序集加载到当前的应用程序域中。如何:与其他应用程序共享程序集(C# 编程指南)
解释如何与其他应用程序共享一个程序集。
应用程序域
在另一个应用程序域中执行代码(C# 编程指南)
显示如何执行已加载到另一应用程序域中的程序集。如何:创建和使用应用程序域(C# 编程指南)
演示如何使用运算符重载实现三值逻辑类型。
示例
- Visual C# 示例
包含链接,用以打开或复制从 Hello World 示例 到 “泛型”示例 (C#) 范围内的示例文件。