C# 将索引器中的值安全地转换为长值
我无法从索引器安全地获取长值。以下代码正常工作,直到我想要的值为null。然后索引器返回空字符串,我的代码抛出异常C# 将索引器中的值安全地转换为长值,c#,long-integer,C#,Long Integer,我无法从索引器安全地获取长值。以下代码正常工作,直到我想要的值为null。然后索引器返回空字符串,我的代码抛出异常 long TargetID = 0; object _targetID = CurrentData[TargetIDKey]; if (_targetID !=null && (Convert.ToInt64(_targetID)) > 0) TargetID = Convert.ToInt64(_targetID); else TargetI
long TargetID = 0;
object _targetID = CurrentData[TargetIDKey];
if (_targetID !=null && (Convert.ToInt64(_targetID)) > 0)
TargetID = Convert.ToInt64(_targetID);
else
TargetID = -1;
如何解决此问题,以使我转到else子句而不是exception?您可以使用
long targetID;
if(_targetID == null || !long.TryParse(_targetID.ToString(), out targetID))
targetID = -1;