为了账号安全,请及时绑定邮箱和手机立即绑定

如何将月份名称(字符串)解析为整数以在C#中进行比较?

如何将月份名称(字符串)解析为整数以在C#中进行比较?

C#
陪伴而非守候 2019-10-19 16:21:42
我需要能够比较数组中的某些月份名称。如果有一些直接的方法,那就太好了:Month.toInt("January") > Month.toInt("May")我的Google搜索似乎表明唯一的方法是编写自己的方法,但这似乎是一个足够普遍的问题,我认为它已经在.Net中实现,以前有人这样做过吗?
查看完整描述

3 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

如果使用DateTime.ParseExact()几个人建议的-方法,则应仔细考虑在非英语环境中运行应用程序时要发生的事情!


在丹麦,哪个工作ParseExact("Januar", ...),ParseExact("January", ...)应该工作,哪个应该失败?


这将是之间的差异CultureInfo.CurrentCulture和CultureInfo.InvariantCulture。


查看完整回答
反对 回复 2019-10-19
?
噜噜哒

TA贡献1784条经验 获得超7个赞

一种简单的解决方案是使用名称和值创建一个Dictionary。然后使用Contains()可以找到正确的值。


Dictionary<string, string> months = new Dictionary<string, string>()

{

                { "january", "01"},

                { "february", "02"},

                { "march", "03"},

                { "april", "04"},

                { "may", "05"},

                { "june", "06"},

                { "july", "07"},

                { "august", "08"},

                { "september", "09"},

                { "october", "10"},

                { "november", "11"},

                { "december", "12"},

};

foreach (var month in months)

{

    if (StringThatContainsMonth.ToLower().Contains(month.Key))

    {

        string thisMonth = month.Value;

    }

}


查看完整回答
反对 回复 2019-10-19
  • 3 回答
  • 0 关注
  • 354 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信