gpt4 book ai didi

c# - 重新排序集合 C#

转载 作者:太空狗 更新时间:2023-10-29 22:35:03 27 4
gpt4 key购买 nike

我有一个问题,我似乎无法通过搜索找到答案(或者我正在搜索完全错误的东西!)。我在从我的数据库中填充的排序列表项目中有一个名为“前 10 名”的项目列表(SortedList,其中 int 是位置,字符串是项目)。我希望能够通过单击按钮在列表顺序中上下移动项目,然后将新订单保存回数据库。我对 DB 部分没问题,这只是我真正苦苦挣扎的重新排序 - 排序列表是正确的集合吗?

非常感谢您提供的任何建议。

最佳答案

SortedList 用于在您向 SortedList 中添加或删除项目时维护其内的顺序。

您应该创建对象的自定义列表,然后根据该对象的属性进行排序。

因此,如果您在数据库中的条目是这样的,您可以将其放入对象中,将其添加到列表中,然后使用 Lambda 根据您喜欢的标准对其进行排序

public class LeaguePosition
{
public int Position { get; set; }
public string Team { get; set; }
}


List<LeaguePosition> League = new List<LeaguePosition>();
League.Add(new LeaguePosition() { Position = 2, Team = "Wolves" });
League.Add(new LeaguePosition() { Position = 3, Team = "Spurs" });
League.Add(new LeaguePosition() { Position = 1, Team = "Villa" });

League.Sort((teamA, teamB) => teamA.Position.CompareTo(teamB.Position));

然后您还可以使用 RemoveAt() 和 Insert() 将项目移动到列表中的自定义位置。

LeaguePosition teamToMove = League[1];
League.RemoveAt(1);
League.Insert(2, teamToMove);

关于c# - 重新排序集合 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2547265/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com