【发布时间】:2019-11-20 23:12:55
【问题描述】:
假设我有一个对象 Person 列表
{
public string Name {get; set;}
public string Gender {get; set;}
}
我想要的是创建一个列表,我可以使用一个名为 OrderIndex 的属性对其进行排序。所以我将此属性添加到 Person 对象:
{
public string Name {get; set;}
public string Gender {get; set;}
public int OrderIndex {get; set;}
}
此 OrderIndex 属性的目的是将 Person 对象放在列表中的特定索引处,以便将 Person 对象排名更高。
但我非常担心因此我必须实施的逻辑量。因为说我有 3 个人的对象
姓名:戴夫,性别:男,订单索引:1 姓名:阿曼达,性别:女,订单指数:2 姓名:Trevor,性别:男,OrderIndex:3
如果我减少 Trevor 的 OrderIndex,我还必须确保 Amandas OrderIndex 会增加,以免两个人对象具有相同的 OrderIndex。
我不确定这个问题以前是否已经在这里回答过,但是我没有找到一个已经回答过这个问题的特定线程。
我应该如何解决这个问题?
【问题讨论】:
-
您真的需要
OrderIndex属性吗?你不能只有一个List<Person>,一个人的索引就是数组中实例的索引吗? -
另外,
OrderIndex是否只会增加和减少 1?或者任意值?如果有任何价值,我会推荐LinkedList<T>而不是List<T>。 -
订单必须保存在数据库中,所以我需要 OrderIndex 属性。
标签: c# sorting indexing indices