c# – 我可以有这样的if语句吗?如果Test =“test1”或“test2”或“test3”没有走很长的路?

我必须将if语句设置为
if(Test == "test1" || Test == "test2" || Test == "test3")
{
    //do something
}

有没有办法有这样的东西

if(Test == "test1":"test2":"test3")

解决方法

是.
if (new [] { "test1","test2","test3" }.Contains(Test))

甚至可以编写一个扩展方法

public static bool IsAnyOf<T>(this T obj,params T[] values) { 
    return values.Contains(T); 
}

if (Test.IsAnyOf("test1","test3"))

为了获得最佳性能,您可以进行两个或三个参数的重载,并且不使用阵列.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...