将索引器中的值安全地转换为long

时间:2015-10-07 11:34:46

标签: c# long-integer

我在索引器中安全地获取长值时遇到问题。下面的代码工作正常,直到我想要的值为null。然后索引器返回空字符串,我的代码抛出异常。

long TargetID = 0;
object _targetID = CurrentData[TargetIDKey];
if (_targetID !=null && (Convert.ToInt64(_targetID)) > 0)
    TargetID = Convert.ToInt64(_targetID);
else
    TargetID = -1;

如何修复此问题而不是异常我转到else子句?

1 个答案:

答案 0 :(得分:2)

您可以改用long.TryParse

long targetID;
if(_targetID == null || !long.TryParse(_targetID.ToString(), out targetID))
    targetID = -1;