using System;
namespace ConsoleTest
{
class Program
{
static void Main(string[] args)
{
var mon = new JapaneseMonth();
Console.WriteLine(mon["師走"]); // OUTPUT: 12
Console.WriteLine(mon[12]); // OUTPUT: 師走
Console.ReadLine();
}
}
}
using System;
namespace ConsoleTest
{
public class JapaneseMonth
{
public JapaneseMonth() { }
/// <summary>
/// 和風月名
/// </summary>
private string[] _month =
{
"睦月", "如月", "彌生", "卯月", "皋月", "水無月",
"文月", "葉月", "長月", "神無月", "霜月", "師走"
};
/// <summary>
/// 和風月名をキーとして、月(1〜12)を返すインデクサ
/// </summary>
/// <param name="name">Name.</param>
public int this[string name]
{
get
{
return Array.IndexOf(this._month, name) + 1;
}
}
/// <summary>
/// 月(1〜12)をキーとして、和風月名を返すインデクサ
/// (インデクサをオーバーロードしている)
/// </summary>
/// <param name="index">Index.</param>
public string this[int index]
{
get
{
return this._month[index - 1];
}
}
}
}