c#整数运算导致CA2233溢出警告
我有以下代码触发CA2233警告“纠正方法Foo中操作'latitudeBam*90'中的潜在溢出”c#整数运算导致CA2233溢出警告,c#,overflow,C#,Overflow,我有以下代码触发CA2233警告“纠正方法Foo中操作'latitudeBam*90'中的潜在溢出” 我不知道警告在哪里。是因为latitudeBam的值可能接近int.MaxValue,因此溢出int.MaxVlaue,还是因为与int.MaxValue到dobule的转换有关?您的第一个理论是正确的:您的计算可能溢出int.MaxValue,因为它将任何当前int值乘以90。事实上,调用方法时,latitudeBam可能已经等于int.MaxValue double Foo(int lati
我不知道警告在哪里。是因为latitudeBam的值可能接近int.MaxValue,因此溢出int.MaxVlaue,还是因为与int.MaxValue到dobule的转换有关?您的第一个理论是正确的:您的计算可能溢出
int.MaxValue
,因为它将任何当前int值乘以90。事实上,调用方法时,latitudeBam
可能已经等于int.MaxValue
double Foo(int latitudeBam)
{
var latitudeInDegrees = (latitudeBam * 90) / (double)int.MaxValue;
return latitudeInDegrees;
}