int*如何在C#中bool?

Jav*_*ram 3 c# pointers unsafe

我试图在C#中使用像C中的指针.

public static void Main(string[] args)
    {
        unsafe
        {
            int i = 5;
            int* j = &i;
            Console.WriteLine(j);  //cannot convert from 'int*' to 'bool'
        } 

    }
Run Code Online (Sandbox Code Playgroud)

我对此代码有两个疑问:

  1. 如何用/ unsafe编译?
  2. 为什么Console.Writeline(j)要尝试转换j to bool

Hen*_*man 11

第2点)需要两个步骤:

  • Console.WriteLine() 没有超载 int*
  • 显然它然后尝试它的第一次重载,WriteLine(bool value)并且找不到转换

我称之为弱错误报告.

要打印地址,请将其转换为ulong第一个.