【发布时间】:2013-01-23 13:43:07
【问题描述】:
我有一个Cell 类型的数组。这是一个二维数组。
根据某些条件,我可能需要调整此数组的大小并将Cell 对象向下/向右/向左移动一行或一列。
我正在考虑使用原型模式将原始数组复制到另一个更大的数组中。
与简单地调整数组大小相比,这是否提供更多好处?
编辑:我意识到我没有提到我的意图。我真的不需要另一个对象。我只是想要一个基于某些条件的更大的数组。
【问题讨论】:
-
这对您有什么帮助?应对原型基本上是克隆,但你想要不同的对象。
-
@Andrey,更新了原始问题。
-
可能有更好的方法来做到这一点,例如让一个单元格属于一个行列表和一个列列表。这可以允许插入一行而不必更新所有项目。如果这是频繁的操作,这可能会便宜得多。
-
@Chriseyre2000,你说得有道理!是的,这是一个非常频繁的操作。
-
因此有一个列和行对象的有序列表,这些对象本身具有引用容器以获取当前索引的单元格列表。以这种方式移动色谱柱要便宜得多。如果它是一个稀疏数组(或者可以有一个合理的默认值),您只需要设置已更改的单元格。
标签: c# oop design-patterns prototype-pattern