Q
長型平等
1
A
回答
10
表達的編譯時類型爲object
,不long
。因此==
正在比較參考文獻。它是這樣的:
object x = 9L;
object y = 9L;
Console.WriteLine(x == y); // false
Console.WriteLine(x.Equals(y)); // true
Console.WriteLine(object.Equals(x, y)); // true; avoids NullReferenceException
你有兩個不同的對象,對於長值均爲「盒子」。 ==
在object
只比較引用是否引用完全相同的對象。 Equals
將對象相互比較值相等,所以會返回true。
如果兩個表達式的編譯時間類型是long
,==
會比較它們作爲長值那就沒問題了。
2
在猜測,我會說你是比較兩個對象,而不是兩個整數。對象沒有指向相同的內存地址,因此不相等。 如果你做一個Convert.ToInt64(otherRouteValue) == Convert.ToInt64(RouteKeyValue.Value)
你應該得到想要的結果
2
==
比較對象(如果有相同的對象,相同的引用返回true)。
要評估對象值之間的相等性,請使用obj.Equals(obj)
方法。 http://msdn.microsoft.com/en-us/library/bsc2ak47.aspx
你的情況:routeKeyValue.Value.Equals(otherRouteKeyValue);
1
因爲它是object
秒。您可以使用.Equals,或將其聲明爲long
。
相關問題
- 1. 匿名類型的平等
- 2. 類型平等檢查
- 3. C#小數類型平等
- 4. 平等感性類型
- 5. 平等
- 6. 平等
- 7. 平等
- 8. 平等
- 9. 平等
- 10. .NET域模型中的對象平等
- 11. scala更高類型和scalatic平等
- 12. 升壓變型和平等比較
- 13. 代數數據類型和平等
- 14. 斷言型家庭FORALL平等
- 15. 動態平等類型的對象
- 16. MethodInfo聲明類型的平等
- 17. 比較float2s的平等/不平等
- 18. 平均字長
- 19. 等長函數
- 20. 平等對象
- 21. 平等幀
- 22. 平等對象
- 23. Django ManyToMany平等
- 24. GetHashCode平等
- 25. PHP DateTime平等
- 26. 平等屬性
- 27. 平等用法
- 28. 平等測試
- 29. 列表平等
- 30. 平等合金