在C#中转换为Int会将Value保留为0

时间:2015-05-01 22:35:21

标签: c# parsing int

我尝试转换小数? to int并将结果存储在" DayOffset"中。但由于某种原因," DayOffset"我运行代码时被设置为0。值在numberRangeHigh中传递为4

这就是我的代码:

int DayOffset:
try
{
    parseSuccess = int.TryParse(numberRangeHigh.ToString(), out DayOffset);
}
catch (Exception ex)
{
    _foundationService.LogBusinessError(null, new ParameterBuilder(), ex.Message.Replace(" ", "_"));
    return false;
}

1 个答案:

答案 0 :(得分:0)

对于任何可以为null的结构(你提到它是decimal?),首先检查.HasValue属性(如果它为null)通常是个好主意。你可以这样做:

int dayOffset = (numberRangeHigh.HasValue) ? Convert.ToInt32(numberRangeHigh.Value) : 0;