Imr*_*zvi 1 .net c# equality equals
我有代码,我得到一个字符串作为输入,我将它与一个整数进行比较.
我看到整数变量也有一个Equals接受字符串参数的函数.
我直接用它来认为它会对它进行类型化.
它没有给出任何编译时或运行时错误,但它总是给出错误的结果.
例如,
int sessionId = 1;
string requestId="1"
return sessionId.Equals(requestId);
Run Code Online (Sandbox Code Playgroud)
sessionId.Equals(requestId) 总是假的.
这种行为的原因是什么?如果有原因,为什么他们允许它运行没有错误?
整数和字符串总是不同的,因此"1".Equals(1)返回false.
它编译,因为object.Equals(object other)需要一个object作为右侧,因此接受任何类型.
| 归档时间: |
|
| 查看次数: |
3915 次 |
| 最近记录: |