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

前端之家收集整理的这篇文章主要介绍了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"))

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

猜你在找的C#相关文章