我偶然发现了一些开发人员使用的代码
fooBar((long)int.Parse(someVariable));
fooBar
函数只是等待long
作为参数,并将其用于SQL查询。
它与使用long.Parse(...)
之间有什么区别吗?
答案 0 :(得分:4)
是的,long.Parse
将处理大于int
的数字。所以最好是,除非你想要一个例外,如果这个数字不适合int
。
此外,从int
到long
的转换是不必要的,因为存在隐式转换。
答案 1 :(得分:4)
不同之处在于,someVariable
表示的值不适合int
。
答案 2 :(得分:4)
主要区别在于int.Parse
,您可以保证int
范围内的数字。OverflowException
。如果该数字超出该范围,则int.Parse
会抛出long.Parse
(long
会很乐意接受它,只要{{1}}中的数字为{{1}}的范围)。
答案 3 :(得分:0)
当你使用long.Parse函数的结果是int64但是当你使用int.Parse时结果是int32。