我有这个代码:
public float? InputCutOffFrequency { get; set; }//fc
public float? InputF1 { get; set; }
public float? InputF2 { get; set; }
public float InputTransitionBand { get; set; }
public float InputFS { get; set; }
public float calcFc1(float f, float fs, float transition)
{
float _f = f + (transition / 2);
_f /= fs;
return _f;
}
float fc1;
fc1 = calcFc1(InputCutOffFrequency, InputFS, InputTransitionBand);
Run Code Online (Sandbox Code Playgroud)
运行此代码时,我收到此错误:
cannot convert from 'float?' to 'float
Run Code Online (Sandbox Code Playgroud)
我该如何修复这个错误?
小智 6
它是一个可为空的浮点数,因此您需要指定您想要的值。
fc1 = calcFc1(InputCutOffFrequency.Value, InputFS, InputTransitionBand);
Run Code Online (Sandbox Code Playgroud)
或者如果它为空,您可以默认它
fc1 = calcFc1(InputCutOffFrequency.GetValueOrDefault(0), InputFS, InputTransitionBand);
Run Code Online (Sandbox Code Playgroud)