gpt4 book ai didi

c# - 是否可以在 C# 中创建固定指针?

转载 作者:行者123 更新时间:2023-11-30 23:29:13 25 4
gpt4 key购买 nike

是否可以在 C# 中创建固定指针,就像在 C++/CLI 中创建 pin_ptr 一样?

最佳答案

一般解决方案:

GCHandle handle = GCHandle.Alloc(myObject, GCHandleType.Pinned);
try
{
IntPtr myPinnedPointer = handle.AddrOfPinnedObject();
// use myPinnedPointer for your needs
}
finally
{
handle.Free();
}

特殊情况:

如果您的对象是结构数组或字符串,并且您可以在项目中使用不安全代码,您可以使用fixed 上下文:

unsafe
{
fixed (char* myPinnedPointer = myString)
{
// use myPinnedPointer for your needs
}
}

关于c# - 是否可以在 C# 中创建固定指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35603788/

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