如何在c#中获得一个月的数组

LIX*_*LIX 11 c#

我想在c#中获取月份数组.
这样的事:{ January , February , ... , December }
我怎么能这样做?请用C#发给我代码.谢谢

nmd*_*mdr 34

您还需要注意本地化问题:您可以使用:

string[] monthNames = 
    System.Globalization.CultureInfo.CurrentCulture
        .DateTimeFormat.MonthGenitiveNames;
Run Code Online (Sandbox Code Playgroud)

通过一个名词变形在一些变形语言中引入了属格案例,在非变形语言中,它与英语介词"of"的等价物的使用相匹配.例如,俄罗斯(俄罗斯)"ru-RU"文化中的日期由日期编号和属性月份名称组成.

更多信息…

编辑:如果您需要英文月份名称,您可以将当前文化设置为en-US

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); 
Run Code Online (Sandbox Code Playgroud)

  • 更改当前文化将影响该线程上的所有进一步执行.在您的代码之后读取原始值并将其更改回来可能是一个好主意.或者你可以调用类似新的CultureInfo("...").DateTimeFormat.MonthGenitiveNames. (3认同)
  • 请注意,这将返回第 13 个空白月份名称。 (3认同)

o.k*_*k.w 15

string[] monthNames = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.MonthNames;

foreach (string m in monthNames) // writing out
{
    Console.WriteLine(m);
}
Run Code Online (Sandbox Code Playgroud)

输出:

January
February
March
April
May
June
July
August
September
October
November
December
Run Code Online (Sandbox Code Playgroud)

更新:
请注意,对于不同的语言环境/文化,输出可能不是英语.之前没有测试过.

仅限美国英语:

string[] monthNames = (new System.Globalization.CultureInfo("en-US")).DateTimeFormat.MonthNames;
Run Code Online (Sandbox Code Playgroud)


Wae*_*oul 11

string[] months = new string[] {"January", "February", "March", "April", "May",
  "June", "July", "August", "September", "October", "November", "December"};
Run Code Online (Sandbox Code Playgroud)


Whi*_*eyJ 7

希望能够教会如何应用范围函数来创建顺序事物的替代方法.

var startDate = new DateTime(2014,1,1);
var months = Enumerable.Range(0,11)
                       .Select(startDate.AddMonths);
                       .Select(m => m.ToString("yyyy MMMM"))
                       .ToList();
Run Code Online (Sandbox Code Playgroud)

它正在做的是创建一个DateTime对象(startDate)并使用该对象生成相对于它自己的所有其他日期.

  1. Enumerable.Range(0,11)创建一个整数列表{0,1,2,3,4,5,6,7,8,9,10,11}

  2. Select(startDate.AddMonths)将每个整数提供给startDate的AddMonths函数,该函数生成1月到12月的日期列表.

  3. 选择(m => m.ToString("yyyy MMMM")获取从1月到12月的每个日期并将它们转换为格式化字符串(在本例中为"2014年1月")

  4. ToList()计算所有函数并将其作为字符串列表返回.