我想了解更多关于 C# 语言的知识,很多人建议深入研究 C# 规范,所以我从 MSDN 下载了一份副本并开始阅读和浏览示例。
C# 规范介绍 - 第 1.6.7.5 节运算符
“List 类声明了两个运算符,运算符 ==和运算符 !=,从而为将这些运算符应用于 List 实例的表达式赋予了新的含义。具体来说,运算符将两个 List 实例的相等性定义为使用它们的比较每个包含的对象Equals 方法。以下示例使用 == 运算符比较两个 List 实例。
我不明白为什么输出会是True和False而不是两者都是False。
using System;
class Test
{
static void Main() {
List<int> a = new List<int>();
a.Add(1);
a.Add(2);
List<int> b = new List<int>();
b.Add(1);
b.Add(2);
Console.WriteLine(a == b); // Outputs "True"
b.Add(3);
Console.WriteLine(a == b); // Outputs "False"
}
}
我将其弹出到 Visual Studio 中,果然我将 Console.WriteLine() 都设置为“ False ”,而不是评论中指定的“True”和“False”。
它还指出 List-of-T 声明了一个名为Changed的单个事件成员,我一生都找不到它,我进入反编译器并查看了它。
也许我完全误读了它,或者我有错误的 C# 规范。