基本上是:
switch (string.contains(x))
{
case(x = "asdf"):
break;
case(x = "jkl"):
break;
case(x = "qwerty"):
break;
}
编辑:对不起,伙计们,我理想的是让switch语句检查字符串中的几个不同的值,并根据它在字符串中找到的值,执行相应的代码。
答案 0 :(得分:6)
不幸的是,你不能这样做,但你可以应用“功能模式匹配”。请阅读此处了解如何操作:
http://codebetter.com/matthewpodwysocki/2008/09/16/functional-c-pattern-matching/
答案 1 :(得分:4)
你的意思是这个,据我所知:
if (string.Contains(x))
{
switch (x)
{
case "asdf":
break;
case "jkl":
break;
case "qwerty":
break;
}
}
答案 2 :(得分:4)
Contains(string s)方法返回一个布尔值,因此在switch语句中不允许这样做。
答案 3 :(得分:3)
switch关键字有一些魔法(查找表),因为它永远不会抛出异常。
您可以像以下一样简洁地重写它:
if (x.Contains("asdf"))
{}
else if (x.Contains("jkl"))
{}
else if (x.Contains("qwerty"))
{}
答案 4 :(得分:-1)
你试过这个:
switch (true) { case string.Contains("asdf"): break; case string.Contains("jkl"): break; case string.Contains("qwerty"): break; }