具有用户指定顺序的数据结构

时间:2012-07-20 01:28:13

标签: c# list sql-order-by

我有这堂课:

public class Item
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

我希望将Item的实例存储在列表中,并按照用户订购的顺序保存它(可能在选择项目时使用上下箭头的GUI中)...

我是否应该将订单成员添加到我的Item类,或者是否存在可以保留用户指定的任意顺序的特定数据结构。

注意:我将使用它来保存一个项目列表,按照一个人看到它们的顺序,走进商店。

2 个答案:

答案 0 :(得分:2)

如果您打算将列表保存到数据库,那么您可能希望在Item类中包含Order属性; SQL Server等数据库不保证结果集的顺序。

答案 1 :(得分:1)

List / Array / Collection是有序的项目序列的名称。

List<Item>足以让商品按特定顺序排列。请注意,在这种情况下重新排序项目将是“慢”(O(n))操作以在新位置移动单个项目。如果您只需要添加常规List<T>可能是最简单的选择,不需要任何其他字段。