我不知道发生了什么,但我1
使用 get 方法将数字作为参数发送,当我调试时,我得到 0x00000001 作为结果
这里一切正常。他们我将 get 参数转换为 int 以删除该实体,但在接收器方法中结果有点错误?
我也试过了,int.Parse
但同样的事情发生了。
这里发生了什么?
我不知道发生了什么,但我1
使用 get 方法将数字作为参数发送,当我调试时,我得到 0x00000001 作为结果
这里一切正常。他们我将 get 参数转换为 int 以删除该实体,但在接收器方法中结果有点错误?
我也试过了,int.Parse
但同样的事情发生了。
这里发生了什么?
它在什么方面是错误的?您已将“1”作为字符串传入,并且您的id
变量的值为 1。无论表示为 1、0x1、00001、0x00001 还是类似的值,该数字都是相同的。这是相同的值。调试器恰好以零填充的十六进制形式向您显示它,仅此而已。
区分数据和该数据的某些文本表示非常重要,尤其是在许多情况下,同一值可能有多个文本表示。例如,考虑以下三行:
int x = 0x10;
int x = 16;
int x = 0x000010;
这些都是完全等价的。它们将值 16 存储在一个名为 的变量中x
。在编译代码时,没有迹象表明您碰巧在源代码中使用了哪种数字文字形式。