2017-02-10 6 views
0
から
enum DaysInMonth 
    { 
     Jan = 31, Feb = 28, Mar = 31, Apr = 30, May = 31, Jun = 30, 
     Jul = 31, Aug = 31, Sep = 30, Oct = 31, Nov = 30, Dec = 31 
    }; 
DaysInMonth dm = DaysInMonth.Dec; 
     Console.WriteLine($"Number of days in {dm} is {dm:D}"); 

を期待される結果を得ていない12月の日数が31のは、7月の日数を取得列挙

+4

可能な重複は(http://stackoverflow.com/questions/8043027/non-unique-enum-values) – Steve

+0

列挙は、一意の値で宣言されなければなりません。 – Pavvy

答えて

4

そのない月の日数をハードコーディングするのは良いアイデアです期待し、31です。うるう年はどうですか?

には、月の日数を取得する正しい方法:

DateTime.DaysInMonth(year, month) 
+0

ええ、その日のないを得るための完全な方法。 – UJS

0

あなたが列挙型を利用するようにしようとしています。したがって、コードに従ってください。 【非固有の列挙値]の

enum DaysInMonth 
     { 
      Jan = 31, Feb = 28, Mar = 31, Apr = 30, May = 31, Jun = 30, 
      Jul = 31, Aug = 31, Sep = 30, Oct = 31, Nov = 30, Dec = 31 
     }; 



static void Main(string[] args) 
     { 
      DaysInMonth dm = DaysInMonth.Dec; 
      Console.WriteLine("Number of days in {0} is {1} : ", dm, (int)dm); 
      Console.ReadKey(); 
     } 
関連する問題