在.NET中可能会溢出以产生数字'-2147479552'?

Mat*_*att 0 .net casting overflow

在.NET中可能溢出以产生int'-2147479552'?

确切的InvalidOperationException是

System.InvalidOperationException:值"0x-2147479552"无法转换为System.Int64.

我猜测接下来的是一个字符串,它被转换为int,但它可能是什么?

pax*_*blo 5

不知道,这完全取决于代码.

但是,有趣的是,这个数字是如此,我将在代码库中的某个地方寻找数字4096.4096 - 231

而且我不确定我是否同意你的意见:

接下来的0x是一个被转换为int的字符串.

我怀疑它是以(溢出)开始int,被强制转换为字符串,然后0x在被传递给Int64.Parse()类似之前有前缀.

为什么你会使用一个基数为10的数字并加上前缀0x有点神秘.

但是,鉴于异常应该为您提供行号,应该可以从那里追溯以找到错误的操作.