gpt4 book ai didi

c#更改变量内存地址

转载 作者:行者123 更新时间:2023-12-05 09:21:44 24 4
gpt4 key购买 nike

我的内存中有一个特定地址(我们称它为 ADR)和一个特定值(假设 4 字节 int)

我想在 C# 中创建一个 int 变量,并将该变量的地址更改为 ADR,所以当我这样做时; print myVar 它打印存储在 ADR 中的值。

我知道我可以创建一个 IntPtr(ADR),然后使用 Marshal 方法来获取值,但我想要一种方法来执行此操作,而无需在每次必须读取值时调用方法。

谢谢!!

最佳答案

您知道可以在 C# 中使用指针吗?

int someVariable = 0;

unsafe
{
int* addr = &someVariable;
*addr = 42;
}

Console.WriteLine(someVariable); // Will print 42

如果您已经有一个地址,您可以写:

int* addr = (int*)0xDEADBEEF;

或者,来自 IntPtr:

var intPtr = new IntPtr(0xDEADBEEF);
int* addr = (int*)intPtr.ToPointer();

关于c#更改变量内存地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30416499/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com