用很多 if() else if () 简化字符串赋值
Simplify string assignment with many if() else if ()
有没有一种方法可以使用 Enum(?) 来缩短此代码 - 基于 Inputcolor
?
例如,如果我的 inputcolor
是 Darkblue
,我希望将 Administrator
作为字符串。我该怎么做?
我不想要这一切"else if"。
if (inputcolor[0].CompareTo("darkblue") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "Administrator", mu + loggedprofile1[0]);
}
else if (inputcolor[0].CompareTo("green") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "B", mu + loggedprofile1[0]);
}
else if (inputcolor[0].CompareTo("ff0000") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "C", mu + loggedprofile1[0]);
}
else if (inputcolor[0].CompareTo("3399ff") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "D", mu + loggedprofile1[0]);
}
else if (inputcolor[0].CompareTo("008000") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "E", mu + loggedprofile1[0]);
}
else if (inputcolor[0].CompareTo("00cc00") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "F", mu + loggedprofile1[0]);
}
else if (inputcolor[0].CompareTo("00CC99") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "G", mu + loggedprofile1[0]);
}
为了简化赋值,在两个字符串之间创建映射很有用。字典在那里很有用:
var colorMapping = new Dictionary<string, string>
{
{ "darkblue", "Administrator"},
{ "green", "B"},
// ...
};
var key = inputcolor[0];
string output;
if (colorMapping.TryGetValue(key, out output))
{
dataGridView2.Rows.Add(loggedname1[0], output, mu + loggedprofile1[0]);
}
有没有一种方法可以使用 Enum(?) 来缩短此代码 - 基于 Inputcolor
?
例如,如果我的 inputcolor
是 Darkblue
,我希望将 Administrator
作为字符串。我该怎么做?
我不想要这一切"else if"。
if (inputcolor[0].CompareTo("darkblue") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "Administrator", mu + loggedprofile1[0]);
}
else if (inputcolor[0].CompareTo("green") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "B", mu + loggedprofile1[0]);
}
else if (inputcolor[0].CompareTo("ff0000") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "C", mu + loggedprofile1[0]);
}
else if (inputcolor[0].CompareTo("3399ff") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "D", mu + loggedprofile1[0]);
}
else if (inputcolor[0].CompareTo("008000") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "E", mu + loggedprofile1[0]);
}
else if (inputcolor[0].CompareTo("00cc00") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "F", mu + loggedprofile1[0]);
}
else if (inputcolor[0].CompareTo("00CC99") == 0)
{
dataGridView2.Rows.Add(loggedname1[0], "G", mu + loggedprofile1[0]);
}
为了简化赋值,在两个字符串之间创建映射很有用。字典在那里很有用:
var colorMapping = new Dictionary<string, string>
{
{ "darkblue", "Administrator"},
{ "green", "B"},
// ...
};
var key = inputcolor[0];
string output;
if (colorMapping.TryGetValue(key, out output))
{
dataGridView2.Rows.Add(loggedname1[0], output, mu + loggedprofile1[0]);
}