在C#中实现对象列表的排序和更改对象索引的方法
Implementing ordering for List of objects in C# and methods for changing the index of the object
假设我有一个对象列表
{
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 个人物
姓名:Dave,性别:男,OrderIndex:1
姓名:Amanda,性别:女,OrderIndex:2
姓名:Trevor,性别:男,OrderIndex:3
如果我减少 Trevor 的 OrderIndex,我还必须确保 Amandas OrderIndex 增加,以免两个人对象具有相同的 OrderIndex。
我不确定这个问题以前是否在这里得到了回答,但我一直没有找到一个特定的线程来回答这个问题。
我该如何解决这个问题?
如果您更改 OrderIndex,则必须找到下一个空闲的整数。因此,如果将 Trevors OrderIndex 更改为 2,则必须在下一个空闲整数中搜索 Amandas OrderIndex。因此,创建一个完成此操作的方法。
以下是搜索下一个空闲整数的方法:
get next available integer using LINQ
假设我有一个对象列表
{
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 个人物
姓名:Dave,性别:男,OrderIndex:1 姓名:Amanda,性别:女,OrderIndex:2 姓名:Trevor,性别:男,OrderIndex:3
如果我减少 Trevor 的 OrderIndex,我还必须确保 Amandas OrderIndex 增加,以免两个人对象具有相同的 OrderIndex。
我不确定这个问题以前是否在这里得到了回答,但我一直没有找到一个特定的线程来回答这个问题。
我该如何解决这个问题?
如果您更改 OrderIndex,则必须找到下一个空闲的整数。因此,如果将 Trevors OrderIndex 更改为 2,则必须在下一个空闲整数中搜索 Amandas OrderIndex。因此,创建一个完成此操作的方法。
以下是搜索下一个空闲整数的方法: get next available integer using LINQ