如何将字符串连接到int *?

时间:2014-01-20 23:35:55

标签: c# pointers unsafe

我正在练习使用C#中的指针(通过不安全的代码)。所以现在,我只想将“”连接到一个int *,所以我可以将它用作Console.WriteLine()中的参数。

    static void Main(string[] args)
    {
        fullOfPointers();
    }
    static unsafe void fullOfPointers()
    {
        int value = 10;
        int* adress = &value;
        Console.WriteLine(&value+"");//error
        Console.ReadLine();
    }

但编译器说运算符'+'不能用于int *和string。那我该怎么办?

2 个答案:

答案 0 :(得分:6)

如果你想要指针的内存地址..把它投到int

Console.WriteLine((int)&value); // will produce random memory address

如果您希望address的值取消引用指针:

Console.WriteLine(*address); // produces 10

我完全不知道你为什么试图用string连接任何东西..这是没有必要的。

答案 1 :(得分:0)

&value返回值address,您尝试将内存地址与字符串文字连接起来。如果您想要adress's值,则需要使用*address,所以你可以试试:

Console.WriteLine(*adress + "  asd");

输出将是:

10 asd