将对象转换为长整型

4
很遗憾,在我们(传统)代码库中,有一个类的属性类型为object,可以是intlong

尝试像这样将其转换为长整型:

long id = (long) dBLockTabellenOptionen.Id;

我得到以下异常:

异常:DoOneWorkRound中的错误:
指定的强制转换无效。指定的强制转换无效。->指定的强制转换无效。
--- 异常列表 ---
System.InvalidCastException: 指定的强制转换无效。

如何安全地将其转换为long而不会出现异常?

免责声明:我知道这个属性很糟糕,但此时重构它太过麻烦,因为这个应用程序很快就会被重写,届时我们会做得更好。


https://msdn.microsoft.com/en-us/library/system.convert(v=vs.110).aspx - xdtTransform
我对此不确定,但你可以尝试一下 if (dBLockTabellenOptionen.Id is long) - Cid
2个回答

9

long id = Convert.ToInt64(dBlockTabellenOptionen.Id);应该做到这一点。


-2

你尝试过使用 Try.Parse 吗?

long bigInteger = 0;
long.TryParse(dBLockTabellenOptionen.Id, out bigInteger);

6
编号 Id 是一个“对象”,而不是一个“字符串”。 - xanatos
4
一个名为 bigIntegerlong 型变量? - MakePeaceGreatAgain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接