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);