为了效率,有一种类似于switch语句的可能方法可用于列表吗?
e.g:
switch (List)
{
case contains("admin"):
permission = x;
break;
case contains("user"):
tabControl1.TabPages.Remove(tab_Admin);
break;
case contains("user2"):
tabControl1.TabPages.Remove(tab_Admin);
tabControl1.TabPages.Remove(tab_Dates);
break;
case contains("guest"):
tabControl1.TabPages.Remove(tab_Admin);
tabControl1.TabPages.Remove(tab_Dates);
tabControl1.TabPages.Remove(tab_Data);
break;
}
而不是每个包含的if包含
答案 0 :(得分:4)
您可以尝试这样:
if (List.Contains(value))
{
switch (value)
{
case "admin": permission = x;
break;
case "user": tabControl1.TabPages.Remove(tab_Admin);
break;
case "user2": tabControl1.TabPages.Remove(tab_Admin);
tabControl1.TabPages.Remove(tab_Dates);
break;
case "guest": tabControl1.TabPages.Remove(tab_Admin);
tabControl1.TabPages.Remove(tab_Dates);
tabControl1.TabPages.Remove(tab_Data);
break;
}
}
问题是List.Contains method返回布尔值,因此您不能像这样使用它。