C# 自定义类型与接口的深入探索
1. 字典初始化
在开始深入探讨 C# 的各类特性之前,先来看一个简单的字典初始化示例:
var d = new Dictionary<string, int>
{
["One"] = 1,
["Two"] = 2,
["Three"] = 3
};
这个示例展示了如何创建并初始化一个字典,将字符串键与整数值关联起来。
2. 运算符重载
在 C# 中,类和结构体可以为运算符定义自定义含义。除了条件与( &&
)和条件或( ||
)运算符外,几乎所有在第 2 章介绍的算术、逻辑和关系运算符都可以被重载。
2.1 自定义运算符实现模式
自定义运算符的实现遵循特定模式,看起来像静态方法,但在通常期望方法名的位置,使用 operator
关键字,后面跟着要定义自定义含义的运算符,然后是参数列表,参数数量由运算符所需的操作数数量决定。
以下是 Counter
类的 +
运算符实现示例:
// 示例 3 - 108. 实现 + 运算符
public static Counter operator +(Counter x, Counter y)
{
return new Counter