C# 在泛型列表中存储继承的类-请提供建议

C# 在泛型列表中存储继承的类-请提供建议,c#,generic-list,C#,Generic List,我正在构建一个简单的形状设计器,它足够简单-将形状添加到一个区域,您可以通过拖放来调整它们的大小和移动它们-想想VS中的表单设计器 目前,我有一个形状基类,它表示位置、大小和方法的公共属性。在设计器上表示对象的其他类继承自形状,例如圆形、方形等。我将对象存储在通用列表中,例如列表 我的问题是关于列表与其他通用数据结构,以及何时使用它们 编辑:感谢马蒂亚斯指出了我真正的意思 干杯 我的问题是:存储形状的最佳方式是什么?若否,原因为何 这要看情况而定。主要关注点之一应该是如何使用形状列表。访问、插入

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

目前,我有一个形状基类,它表示位置、大小和方法的公共属性。在设计器上表示对象的其他类继承自形状,例如圆形、方形等。我将对象存储在通用列表中,例如列表

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

编辑:感谢马蒂亚斯指出了我真正的意思

干杯

我的问题是:存储形状的最佳方式是什么?若否,原因为何

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

例如:

若您主要关注的是索引访问,那个么列表是合适的。 如果您只是在迭代,但需要经常添加和删除形状,那么LinkedList或类似的结构可能是有益的。这提供了快速枚举,但插入或删除比列表快得多,尤其是从列表中间删除时。
为了说明这是否是“最好的”,请至少告诉我们您的担忧是什么,您认为您的备选方案是什么。我的意思是,我已经使用通用列表做了这件事,并且想知道还有什么其他方法可以做?我在某个地方读到,以这种方式使用通用列表并不是一种特别有效的做事方式。你的问题是关于列表与其他通用数据结构,还是关于其他什么?Mathias,这正是我的意思!除非你需要一些“不寻常”的东西,否则列表通常是最好的选择。你能读懂我的心思!这很有帮助,也是我一直在寻找的。谢谢