如何使用特定名称限制字符串的值

时间:2019-06-26 08:14:18

标签: c# string

我想有一个限制为4-5个值(ex: "Insert", "update", "delete", "check")的字符串,但是没有其他值期望可以将上述值分配给该字符串(类似于true和{{1} }在false中) 但我想知道是否有可能不检查字符串是否是像这样的值之一:

bool

但更像

//not what i want
switch(str){
case "update":
isgoodvul=true;
break;
case "delete":
//(and so on).....
}

2 个答案:

答案 0 :(得分:0)

创建一个HashSet来存储您的白名单,并检查输入是否在白名单中,如下所示:

var whitelist = new HashSet<string>()
{
    "insert",
    "update",
    "delete",
    "check"
};

然后按如下所示使用:

bool isgoodvul = whitelist.Contains(str);

答案 1 :(得分:0)

您可以使用枚举来获取所需的行为。定义这个:

enum MyAction
{
    insert = 0,
    update =1,
    delete = 2,
    check = 3
}

然后按如下方式使用它:

Enum action = MyAction.update;

switch(action){
  case(MyAction.insert)
    //Do insert
  case(MyAction.update)
    //Do update
...
}