首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按工作日而不是按字母顺序合并每周的排序日期

按工作日而不是按字母顺序合并每周的排序日期
EN

Stack Overflow用户
提问于 2015-04-15 03:15:23
回答 2查看 839关注 0票数 0

我有一个对象数组,它有一个代表工作日的string属性。我想要编写一个合并排序算法来按工作日的顺序对对象数组进行排序。

我能够写一个合并排序算法,但我想知道如何让它按工作日的顺序而不是按字母表排序?非常提前谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2015-04-15 03:24:04

对支持自定义比较器的对象使用集合,或者只在对象as demonstrated here上实现IComparable。然后,只需使用属性的静态映射到排序,或者如果可以将字符串属性映射到DayOfWeek枚举,则使用该内置排序。

票数 3
EN

Stack Overflow用户

发布于 2015-04-15 03:29:54

不要编写排序算法,相反,编写一个简单的比较器来实现IComparer,将数组转换为列表,对列表进行排序,然后根据需要转换回数组。一个可能的比较器可能是这样的:

代码语言:javascript
运行
复制
Public WeekDayNameComparer<YourObject> : IComparer<yourObject> 
{
   private string[] WeekDays = {"sunday", "monday", ..."friday"}
   public int Compare(YourObject x, YourObject y) {
      return Array.indexOf(WeekDays, x.WeekDay).CompareTo(Array.indexOf(WeekDays, y.WeekDay));
   }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29635615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档