C# · 12月 27, 2021

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”))

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