我必须用英语填写一个月份的组合框:1月,2月等。 我接下来这样做了:
private string[] AmericanMonths
{
get
{
var arr = new string[12];
var americanCulture = new CultureInfo("en-US");
for (int i = 0; i < 12; i++)
{
arr[i] = new DateTime(2000, i + 1, 1).ToString("MMMM", americanCulture);
}
return arr;
}
}
comboMonth.Items.AddRange(AmericanMonths);
您如何看待,哪种方式更好(性能)?
有没有办法将表示月号的整数转换为它的名字?
答案 0 :(得分:18)
CultureInfo已经在框架中包含了月份名称列表。你可以写:
var americanCulture = new CultureInfo("en-US");
comboMonth.Items.AddRange(americanCulture.DateTimeFormat.MonthNames.Take(12)); //to remove last empty element
答案 1 :(得分:2)
CultureInfo具有DateTimeFormat属性,其中包含有关日期时间格式的信息。从那里,您可以使用GetMonthName或GetAbbreviatedMonthName。或者,您可以通过DateTimeFormatInfo的MonthNames属性获取月份名称数组。