如何写入内存地址
本文关键字:地址 内存 何写入 | 更新日期: 2023-09-27 18:13:26
c#中新的指针和不安全的世界。我正在通过指针获取变量的内存地址,在这里和那里移动一些东西等等;基本上学习。
static unsafe void M()
{
var i = 1;
var p = &i; //gets memory location of variable i here
//how do I write to location p, say a value of 100?
}
我想知道是否有一种方法来写一个特定的位置,以及?如果我能同时读和写,这对了解周围发生的事情有很大的帮助。
没有实际目的,只是学习。或者c#不可能做到这一点?
您需要使用*
操作符对指针解引用。例:
*p = 100;
像这样
*p = 100;
Console.WriteLine(i); // prints 100;
你需要遵从它
下面是一个LINQPad代码片段:
int i = 1;
unsafe
{
var p = &i;
*p = 100;
}
i.Dump();
如预期的那样输出"100"