私は通常、これらの種類の変換テーブルをディクショナリオブジェクトに配置し、これらのディクショナリオブジェクトをメソッドの外に移動します。これにより、これらのテーブルを簡単に再利用したり、後で別の構造(データベースストアなど)に置き換えたりすることができます。
class SomeClass
{
static readonly Dictionary<int, string> INDEX_TEXT_TABLE = new Dictionary<int, string>
{
{ 0, "PO Med not Selected" },
{ 1, "0 / 0" },
{ 2, "8 / 20" }
};
protected void drpPOMedList1_SelectedIndexChanged(object sender, EventArgs e)
{
lblPOLimit1.Text = INDEX_TEXT_TABLE[drpPOMedList1.SelectedIndex];
}
}
ちなみに、意味的に意味のあるSelectedValue
プロパティの使用を検討することをお勧めします。ドロップダウンリストは通常、キーと値の両方が文字列型であるキーと値のペアです。したがって、このプロパティを使用することは、データと表現の間のより適切なマッピングです。これにより、コードの明確さも向上します。
class SomeClass
{
static readonly Dictionary<string, string> VALUE_TEXT_TABLE = new Dictionary<string, string>
{
{ "None", "PO Med not Selected" },
{ "Zero", "0 / 0" },
{ "EightTwenty", "8 / 20" }
};
protected void drpPOMedList1_SelectedIndexChanged(object sender, EventArgs e)
{
lblPOLimit1.Text = VALUE_TEXT_TABLE[drpPOMedList1.SelectedValue];
}
}