gpt4 book ai didi

c# - 对列表进行排序并为每个项目赋予新的排序索引

转载 作者:行者123 更新时间:2023-11-30 14:59:50 26 4
gpt4 key购买 nike

假设我有 3 个菜单项。每个里面都有(例如)5 个链接。所以我有这样的东西:

//This is just some test-code. normally i''ll get the data from a database
List<NavigationModel> navigation = new List<NavigationModel>();
Random randomInt = new Random();

for (int i = 0; i < 5; i++)
{

NavigationModel m = new NavigationModel();
m.MenuName = "Users";
m.LinkName = "Link (" + i + ")";
m.ControllerName = "AAA";
m.ActionName = "Function" + i;
m.SortingMenu = 5;

navigation.Add(m);
}

for (int i = 0; i < 5; i++)
{
NavigationModel m = new NavigationModel();
m.MenuName = "Help";
m.LinkName = "Link (" + i + ")";
m.ControllerName = "BBB";
m.ActionName = "Function" + i;
m.SortingMenu = 10;

navigation.Add(m);
}

for (int i = 0; i < 5; i++)
{
NavigationModel m = new NavigationModel();
m.MenuName = "Home";
m.LinkName = "Link (" + i + ")";
m.ControllerName = "CCC";
m.ActionName = "Function" + i;
m.SortingMenu = 2;

navigation.Add(m);
}

navigation = navigation.OrderBy(x => x.SortingMenu).ToList();

如您所见,我将获得 3 个正确排序的菜单项,但我需要从 0 开始排序,然后是 1,2 ...

如果没有硬编码或数据库更新命令,我该如何做到这一点?

最佳答案

LukeHennerleys 的回答可能是更高的标准,但我宁愿用一个简单的 for-loop 来改变 SortingMenu 的值。如果您已经对列表进行排序,这应该可以解决问题。

for (int i = 0; i < navigation.Count; i++)
{
navigation[i].SortingMenu = i;
}

关于c# - 对列表进行排序并为每个项目赋予新的排序索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16142450/

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