乘法运算产生错误的结果

Aym*_*man 2 c#

我试图在我的应用程序中乘以两个数字,但在某些情况下,它会导致错误的值

var result = 0;
var firstNumber = 654165;
var secondNumber = 6541;
result = firstNumber * secondNumber;
Run Code Online (Sandbox Code Playgroud)

结果-16074031是错的

你能帮我找到错误的地方吗?

Ale*_*ria 5

试试这个:

checked
{
    var result = 0;
    var firstNumber = 654165;
    var secondNumber = 6541;
    result = firstNumber * secondNumber;
}
Run Code Online (Sandbox Code Playgroud)

这样你就可以看到问题所在System.OverflowException.简单地解决使用问题long

unchecked
{
    var result = 0L;
    var firstNumber = 654165L;
    var secondNumber = 6541L;
    result = firstNumber * secondNumber;
}
Run Code Online (Sandbox Code Playgroud)

查看已选中未选中的关键字.