gpt4 book ai didi

c# - 对字符串属性进行排序,例如 Integer LINQ

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

我有一个项目列表,我正在使用下面的代码对这个项目列表进行排序

List<ModelItems> sorted_items = originalItems.OrderBy(i => i.Page).ToList();

其中 Page 是一个可以是整数或字符串的属性,因此我将其设置为 String 类型并且在模型中也不是必需的属性。所以它也可以是空的。

但是在排序时,由于它现在是一个字符串,因此它会按此顺序给出项目,例如 1,17,3,37,5,"","s"等

我们可以使用 Linq 以整数方式对列表进行排序吗?

比如结果应该首先是数字,然后是字符串,如 1,3,5,17,37,"b","g","",.....

最佳答案

您需要为 String 实现一个 IComparer。参见 Use own IComparer<T> with Linq OrderBy .在比较器中,您可以检查 first 和 string 是否可以解析为 int 并采取相应措施。您有 4 个案例要处理:

整数,整数

整数,字符串

字符串,整数

字符串,字符串

案例 1 和案例 4 很简单。在情况 2 和 3 中,您决定是先使用整数还是相反。

关于c# - 对字符串属性进行排序,例如 Integer LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29313977/

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