这是一个C#代码片段,它与包含空值的nullables进行比较。
int? v1 = null;
int? v2 = null;
Console.WriteLine(v1 > v2); /* False (as expected) */
Console.WriteLine(v1 == v2); /* True (as expected) */
Console.WriteLine(v1 > v2 || v1 == v2); /* True (as expected) */
Console.WriteLine(v1 >= v2); /* False Why? */
问题与最后一行有关,为什么(> =)运算符的行为不像(> || ==)组合。