我创建了一个指针并将其存储在本地哈希映射中,但是当获取值时,如何将其转换回我的结构体?
我是这样创建它的:
T* p = &myStruct;
hashMap.Add(myStruct, (int)p); //<MyStruct,int>
现在回头看,我正在试图做的是:
if(hashMap.TryGetValue(item, out int ptr)){
T myStruct = *ptr; // don't know the right syntax here
Debug.Log(myStruct.Equals(item)); // should be the same
}
我不能使用 IntPtr
,因为我不能使用 Marshal.PtrToStructure
。Unity的编译器不允许它在其线程中使用。