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