gpt4 book ai didi

c# - 如何在 LINQ 中对一个未指定的数字使用多个 OrderBy?

转载 作者:太空狗 更新时间:2023-10-30 00:37:15 24 4
gpt4 key购买 nike

所以我知道您可以像这样在 LINQ 中使用 OrderBy:

MyList.OrderBy(x => x.foo[0].Value).ThenByDescending(x => x.foo[1].Value);

但是我不知道 x.foo 将拥有多少属性,我想按所有属性排序。这可能吗?

编辑:在这个例子中,x.foo 是一个 KeyValuePair 的列表,我在其中按键的值排序。

最佳答案

前提是至少有一项并且所有项都具有相同数量的'foos'

int foosPerItem = MyList.First().Foo.Count;

IOrderedEnumerable<T> ordered = MyList.OrderBy(x => x.foo[0].Value);

for (int i = 1; i < foosPerItem; i++)
{
ordered = ordered.ThenByDescending(x => x.foo[i].Value);
}

// added after your comment:
// ordered = ordered.ThenByDescending(x => x.bar);

根据您关于先按酒吧订购的其他评论:

IOrderedEnumerable<T> ordered = MyList.OrderBy(x => x.bar);

for (int i = 0; i < foosPerItem; i++)
{
ordered = ordered.ThenByDescending(x => x.foo[i].Value);
}

关于c# - 如何在 LINQ 中对一个未指定的数字使用多个 OrderBy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54633127/

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