C# 为什么我要引用等于x到x==y和y到x==y?

C# 为什么我要引用等于x到x==y和y到x==y?,c#,C#,请参阅下面的代码,我从这里获取: 为什么要引用等于x到x==y和y到x==y?Zero可能是一个静态实例,例如: public static readonly Natural Zero = new Natural(0); 至于为什么要将值与null进行比较,以及相互比较:与null进行比较,以便在涉及x.tail或y.tail的检查中避免出现NullReferenceException异常,并允许对其中包含null引用的列表进行排序,以使其正常工作,所有的nulls要么开始,要么结束(但是:一

请参阅下面的代码,我从这里获取:


为什么要引用等于x到x==y和y到x==y?

Zero
可能是一个静态实例,例如:

public static readonly Natural Zero = new Natural(0);

至于为什么要将值与
null
进行比较,以及相互比较:与
null
进行比较,以便在涉及
x.tail
y.tail
的检查中避免出现
NullReferenceException
异常,并允许对其中包含
null
引用的列表进行排序,以使其正常工作,所有的
null
s要么开始,要么结束(但是:一致)。您将
x
y
进行比较,因为a:与自身比较时,任何对象都应报告“匹配”(返回
0
),b:当
x
y
都为
null
时,我们还应返回“匹配”
0
。对
x
y
执行参考检查可以方便地解决这两种常见情况。

Zero
可能是一个静态实例,例如:

public static readonly Natural Zero = new Natural(0);

至于为什么要将值与
null
进行比较,以及相互比较:与
null
进行比较,以便在涉及
x.tail
y.tail
的检查中避免出现
NullReferenceException
异常,并允许对其中包含
null
引用的列表进行排序,以使其正常工作,所有的
null
s要么开始,要么结束(但是:一致)。您将
x
y
进行比较,因为a:与自身比较时,任何对象都应报告“匹配”(返回
0
),b:当
x
y
都为
null
时,我们还应返回“匹配”
0
。在
x
y
上进行引用检查可以方便地解决这两种常见情况。

如果您想引用该静态值及其实际创建代码(与您拥有的代码相差不远),则讨论如何创建该静态值。为什么使用静态变量而不是实例。这有关系吗?如果您想引用静态值及其实际创建代码(与您所拥有的代码相差不远),请讨论静态值的创建。为什么使用静态变量而不是实例。这有关系吗?
var Zero=Zero意味着x=y作为代码没有任何意义
表示
不是c#中的关键字。注释
zero表示x==y
描述了方法的行为。如果它返回零,则表示
x==y
作为代码没有任何意义
表示
不是c#中的关键字。注释
zero表示x==y
描述了方法的行为。如果它返回零,则表示
x==y
。另外,我不确定您是否跳到了该系列的中间,但第2部分讨论了零和一个静态变量:
public static readonly Natural Zero = new Natural(0);