-1

我正在构建一个简单的形状设计器,它很简单——将形状添加到一个区域,你可以调整它们的大小并通过拖放来移动它们——想想 VS 中的表单设计器。

目前我有一个 Shape 的基类,它表示常见的属性(位置、大小)和方法。其他代表设计器对象的类继承自 Shape,例如 Circle、Square 等。我将对象存储在通用列表中,例如List<Shape>

我的问题是关于 List 与其他通用数据结构,以及何时使用它们。

编辑:感谢 Mathias 指出我真正的意思。

干杯

4

1 回答 1

2

我的问题是:存储形状的最佳方式是什么?如果不是为什么不呢?

这真的取决于。主要关注点之一应该是您如何使用形状列表。访问、插入和删除的速度将根据您使用的集合类型而变化。

例如:

  • 如果您按索引访问是您的主要关注点,那么List<T>是合适的。
  • 如果您只是在迭代,但需要经常添加和删除形状,那么LinkedList<T>或类似的结构可能是有益的。这提供了快速枚举,但插入或删除比 a 快得多List<T>(特别是如果您从列表中间删除)。
于 2012-08-27T22:23:15.837 回答