c# - 如何让你的 if 更短?

标签 c#

我知道在使用 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/

相关文章:

c# - 无法在鼠标悬停时设置 WPF ComboBox 的样式

c# - 查找内存泄漏

c# - 异步/等待与 Task.Run 在 C# 中

c# - var to dynamic 在编译时是已知的吗?

c# - 在 C# 中获取 Windows 10 中的当前版本操作系统

c# - 纸牌游戏,纸牌建筑

c# - 基于具有逗号分隔值的列创建多个 DataTable 行

c# - JQuery 为 MVC Post 设置隐藏输入

c# - 将上下文菜单添加到桌面背景

c# - 如何使用c#中的其他参数将值从一个表插入到mysql中的另一个表