我在索引器中安全地获取长值时遇到问题。下面的代码工作正常,直到我想要的值为null。然后索引器返回空字符串,我的代码抛出异常。
long TargetID = 0;
object _targetID = CurrentData[TargetIDKey];
if (_targetID !=null && (Convert.ToInt64(_targetID)) > 0)
TargetID = Convert.ToInt64(_targetID);
else
TargetID = -1;
如何修复此问题而不是异常我转到else子句?
答案 0 :(得分:2)
您可以改用long.TryParse
。
long targetID;
if(_targetID == null || !long.TryParse(_targetID.ToString(), out targetID))
targetID = -1;