csharp> int x = 42;
csharp> fixed (int* p = &x) {
> object o = p;
> }
(2,16): error CS0029: Cannot implicitly convert type `int*' to `object'
csharp> typeof(int*).BaseType
null
为什么语言设计者选择指针类型不是object
的子类型(与引用类型和值类型不同)?有没有办法在不使用IntPtr
,UIntPtr
或自定义类的情况下装箱指针?