为什么short(-1)在c#中不等于-1

时间:2016-10-31 10:09:04

标签: c# .net asp.net-mvc-4

在MVC4,.net 4.6.1和VS 2015中,我编写了一个简单的MVC应用程序,用于将视图中的短类型值传递给控制器​​,如下所示

public bool GetTheValue (short req_division)
{ return req_division == -1 ;}

奇怪的是当我从我的视图中将-1传递给req_division时,结果返回false。我不知道为什么会这样。任何人都可以帮我解释一下。 非常感谢你!

1 个答案:

答案 0 :(得分:12)

除了代码中可能存在的拼写错误之外,我在调试视图中发现了一些奇怪的东西。看到这段代码:

  

调试器说它是假的,但代码的计算结果为true。也许您在调试器中遇到了类型转换问题。将int更改为short后,调试器会认为i == j的评估结果为true

相关问题