我知道在使用 Regex 时我可以输入值 |
来搜索许多值。例如:
Regex sabrina = new Regex("Rihanna|rihanna|Sabrina|sabrina");
我有一个字符串,我想与其他值进行比较,所以我使用 if
如下:
if (rihanna == "Rihanna" || rihanna == "sabrina")
我的问题是是否可以缩短if
?我知道这段代码不起作用,但我正在寻找这样的东西:
if (rihanna == "Rihanna|sabrina")
最佳答案
单行解决方案:
if("Rihanna|rihanna|Sabrina|sabrina".Split(new[] {'|'}).Contains(rihanna))
或者没有String.Split
方法的用法:
if ((new[] { "Rihanna", "rihanna", "Sabrina", "sabrina" }).Contains(rihanna))
如果多次执行这种检查,您应该将可能值的 string[]
数组保存到变量中:
var names = new[] { "Rihanna", "rihanna", "Sabrina", "sabrina" };
if(names.Contains(rihanna))
关于c# - 如何让你的 if 更短?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15798217/