gpt4 book ai didi

c# - LINQ .OrderBy由单个字母然后由另一个字母

转载 作者:太空宇宙 更新时间:2023-11-03 17:35:51 25 4
gpt4 key购买 nike

我正试图与Linq订一个特别的订单。
它必须按S,P,NB,V,NC的顺序排序。
我不确定这是否是解决这个问题的最佳方法,但这就是我所拥有的:

repeater.DataSource = query.OrderBy(p => p.Title ?).ThenBy(?).ThenBy(?);

最佳答案

如果字段中只有这些不同的值,则可以使用字典将字符串转换为合适的数字,如下所示:

var order = new Dictionary<string, int>();
order.Add("S", 0);
order.Add("P", 1);
order.Add("NB", 2);
order.Add("V", 3);
order.Add("Nc", 4);
repeater.DataSource = query.OrderBy(p => order[p.Title]);


如果源是LINQ to SQL,则必须首先将其实现为列表,以便使用LINQ to Objects进行排序:

repeater.DataSource = query.ToList().OrderBy(p => order[p.Title]);

关于c# - LINQ .OrderBy由单个字母然后由另一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3227163/

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