为了提高效率,是否有一种类似于switch语句的方法可以用于列表?

例如:

    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包含

最佳答案

您可以这样尝试:

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返回一个布尔值,因此您不能像这样使用它。

09-25 19:12