Ada*_*dam 5 .net c# collections sortedlist
我有一个问题,我似乎无法通过搜索找到答案(或者我正在寻找完全错误的东西!).我有一个名为"Top 10"的项目列表,这个项目是从我的DB(SortedList,其中int是position,string是item)填充的sortedlist项目.我希望能够通过单击按钮在列表顺序中上下移动项目,然后将新订单保存回数据库.我对数据库部分没问题,这只是我正在努力的重新排序 - 这是一个有关的正确集合的排序列表吗?
非常感谢您提供的任何建议.
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));
Run Code Online (Sandbox Code Playgroud)
然后,您还可以使用RemoveAt()和Insert()将项目移动到列表中的自定义位置.
LeaguePosition teamToMove = League[1];
League.RemoveAt(1);
League.Insert(2, teamToMove);
Run Code Online (Sandbox Code Playgroud)