C#中不断增长的对象集合的最佳结构?

时间:2011-10-31 22:05:32

标签: c# unity3d

对于我的游戏编程课程,我正在为玩家角色设计一个类。玩家可以在整个游戏过程中收集电源,这些电源可以在玩家选择时保留并可以使用。

我认为动态数组运行良好,但我的背景是C ++(我们在类中使用Unity,它使用Java和C#),我知道在C#中内存释放的处理方式不同(我知道有垃圾收集器,但不太了解它的功能)。在浏览网页一段时间后,我找不到任何符合我需要的功能的东西(或者如果我做到这一点,那就是我的头脑,我没有意识到)。

如果有人可以列出一个C#结构或结构,这对于存储不断增长的对象集合会很有帮助,那将非常有用。

2 个答案:

答案 0 :(得分:3)

List可能是您可以使用的最简单的结构,它就像一个动态数组,当您向它添加内容时它会自动增长。它是强类型的,因此它只包含相同类型的对象(如果你有一些加电接口,你可以有一个IPowerUp实例列表)

答案 1 :(得分:0)

首先查看.NET's generic collections。 (.NET泛型在概念上与C ++模板类似。)ListDictionary可能对您有用,具体取决于您需要如何存储和检索对象。

由于您可能会有类型的对象,您可以考虑使用列表字典,其中键将是字符串标识符或收集对象类型的枚举,值将是对象实例列表。