在方法中返回null

Pae*_*Pae 4 c# double null

我正在尝试制作将指标转换为英制的转换器.我也正在进行单元测试.如果我传递负值,该方法应该返回null.是否可以从返回double的方法返回null.

public double mgToGrain(double mg)     
{

     double grain = mg * myValues["mgTograin"];
     return grain;
     if (mg < 0) {
         return null;
     } 
}

    `  
Run Code Online (Sandbox Code Playgroud)

Dmi*_*nko 7

double?如果你必须坚持的可能替代方案doubledouble.NaN(非数字):

public double mgToGrain(double mg) {
  if (mg < 0)
    return double.NaN;
  else
    return mg * myValues["mgTograin"];
}    

...

double x = ...

if (double.IsNaN(mgToGrain(x))) {  
  ...
}
Run Code Online (Sandbox Code Playgroud)