4

コンボボックスに月を英語で入力する必要があります: 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);

どのような方法が良いと思いますか (パフォーマンス)?

月番号を表す整数をその名前に変換する方法はありますか?

4

2 に答える 2

18

CultureInfo には、フレームワーク内に月名のリストが既に含まれています。あなたはただ書くことができます:

var americanCulture = new CultureInfo("en-US");
comboMonth.Items.AddRange(americanCulture.DateTimeFormat.MonthNames.Take(12)); //to remove last empty element
于 2009-04-26T22:37:59.000 に答える
2

CultureInfo には、日時の書式設定に関する情報を含むDateTimeFormatプロパティがあります。そこから、GetMonthNameまたはGetAbbreviatedMonthNameを使用できます。または、DateTimeFormatInfo のMonthNamesプロパティを使用して、月の名前の配列を取得することもできます。

于 2009-04-26T22:41:12.817 に答える