【发布时间】:2018-06-19 10:17:55
【问题描述】:
我希望将一个值与一个列表进行比较,然后根据此比较设置另一个变量。
我的清单是
1 = Red
4 = Blue
13 = Green
我可以有一系列 if 语句,但是如果列表很大,这看起来很乱
if (Type == 1)
{
Name = "Red";
}
else if (Type == 4)
{
Name = "Blue";
}
else if (Type == 13)
{
Name = "Green";
}
什么是实现相同目标的有效且整洁的方法?
【问题讨论】:
-
改用
switch。 -
您需要将类型设为整数吗?我会推荐一个枚举。这也将允许直接从枚举值中分配名称。
-
另外,建议你为这些类型创建一个枚举类型。它会更优雅。
-
在字典中组织对应的值
-
@ViRuSTriNiTy 我认为你把它看得太个人化了。问题的标题是“更优雅”,您不认为您建议的答案(以及哪个有效)比优雅更“快速和肮脏”(尽管优雅实际上是个人选择的问题)
标签: c# optimization