我希望将值与列表进行比较,然后根据此比较设置另一个变量。
我的清单是
1 = Red
4 = Blue
13 = Green
我可以有一系列if语句,但是有一个大的列表,这看起来很混乱
if (Type == 1)
{
Name = "Red";
}
else if (Type == 4)
{
Name = "Blue";
}
else if (Type == 13)
{
Name = "Green";
}
实现同样目的的有效和整洁方法是什么?
答案 0 :(得分:4)
利用字典存储你的值,它将使用更少的代码行和可读的代码来创建干净的代码
Dictionary<int, string> data = new Dictionary<int, string>
{
{ 1, "Red" },
{ 4, "Blue" },
{ 13, "Green" }
};
string test;
if (data.TryGetValue(1, out test)) // Returns true.
{
Console.WriteLine(test);
}
答案 1 :(得分:2)
我认为你需要在这里使用开关:
switch (Type)
{
case 1:
Name = "Red";
break;
case 4:
Name = "Blue";
break;
case 13:
Name = "Green";
break;
}
答案 2 :(得分:1)
使用insted的开关语句
switch (Type)
{
case 1:
Name = "Red";
break;
case 4:
Name = "Blue";
break;
case 13:
Name = "Green";
break;
}
答案 3 :(得分:0)
class Program
{
public enum EnumDisplayStatus
{
Red = 1,
Blue = 2,
Yellow = 3,
Orange = 4
}
static void Main()
{
int value = 3;
EnumDisplayStatus enumDisplayStatus = (EnumDisplayStatus)value;
string color = enumDisplayStatus.ToString();
Console.Write(color);
}
}
使用enum并以我展示的方式获取字符串。