【发布时间】:2017-04-29 14:41:59
【问题描述】:
struct Tile
{
GameObject go;
... //more fields
public Tile(GameObject g, Object s)
{
go = g;
...
}
}
Tile[,] tilemap = new Tile[1000,1000]
Tile 结构由一个 GameObject(一个 Unity Engine 游戏内对象,已经在场景/内存中)和其他字段组成。考虑到我要存储一百万个,它可能会占用大量内存。
我对 C# 中的指针没有太多经验。
将指向游戏对象的指针存储在结构中是否明智?
struct Tile
{
GameObject* go;
...
}
【问题讨论】:
-
如果你在设计大的类,使用
class而不是struct,并使用new创建类的对象,这样对象就创建在大堆上而不是小堆上堆栈。
标签: c# arrays pointers unity3d memory-management