为什么在null检查后将int设置为0被认为是没有意义的?

B. *_*non 1 c# null dead-code zero

我有这个代码,如果它为null,则将int val设置为0:

if (null == frbdcbl.QtyOrdered)
{
    frbdcbl.QtyOrdered = 0;
}
Run Code Online (Sandbox Code Playgroud)

......但是这项任务是灰色的,好像这样的行动没有实际意义.那为什么会这样?毕竟,null!= 0.

要检查的值没有默认值0或者这样:

public class FillRateByDCByLocation
{
    . . .
    public int QtyOrdered { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

具有灰色分配的代码(AddFillRateByDCByLocationRow(())被调用如下:

foreach (FillRateByDCByLocation frbdcbl in _fillRateByDCByLocGroupedSortedSummed)
{
    AddFillRateByDCByLocationRow(frbdcbl);
}
Run Code Online (Sandbox Code Playgroud)

Sle*_*mer 9

它是一个可以为空的int吗?如果没有,它会变灰,因为int永远不会为空.

  • 并且成员变量(它是)被初始化为它们的默认值,在这种情况下,当实例化类时,它是0. (2认同)