【发布时间】:2011-08-27 13:30:57
【问题描述】:
刚刚注意到unchecked 上下文在使用 BigInteger 时不起作用,例如:
unchecked
{
// no exception, long1 assigned to -1 as expected
var long1 = (long)ulong.Parse(ulong.MaxValue.ToString());
}
unchecked
{
var bigInt = BigInteger.Parse(ulong.MaxValue.ToString());
// throws overflow exception
var long2 = (long)bigInt;
}
知道为什么会这样吗?将大整数转换为其他原始整数类型的方式有什么特别之处吗?
谢谢,
【问题讨论】:
标签: c# c#-4.0 biginteger unchecked