gpt4 book ai didi

c# - 使用起始值对对象列表进行排序的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-30 19:28:22 28 4
gpt4 key购买 nike

用起始值对对象列表进行排序的最佳方法是什么?我的 list 有以下项目:

obj a
obj b
obj c
obj d

a.index = 1
b.index = 3
c.index = 2
d.index = 4
start value = 3;

排序列表必须是{b,d,a,c}

感谢您的帮助。

最佳答案

使用 OrderByThenBy 组合。它将与文件顶部的 using System.Linq 配合使用。

var source = new List<Item>() {
new Item { index = 1, value = 'a' },
new Item { index = 3, value = 'b' },
new Item { index = 2, value = 'c' },
new Item { index = 4, value = 'd' },
};

int startValue = 3;

var sortedList = source.OrderBy(i => i.index < startValue)
.ThenBy(i => i.index)
.ToList();

foreach (var item in sortedList)
Console.WriteLine(string.Format("{0} - {1}", item.value, item.index));

Item类定义:

class Item
{
public char value { get; set; }
public int index { get; set; }
}

返回所需的输出:

b - 3
d - 4
a - 1
c - 2

关于c# - 使用起始值对对象列表进行排序的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15833441/

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