是否有标准的 String 方法可以采用多个参数进行精确比较?
T-SQL 中的等价物将是 IN(&#39; dog&#39;,&#39; cat&#39;,...) < / p>
例如,如果有一个名为 EqualToAny()的方法,那么下面的代码应该返回false
string s="catfish";
if (s.EqualToAny("dog", "cat", "human", "dolphin"))
return true;
else
return false;
答案 0 :(得分:1)
您可以使用Linq Any()
方法实现此目的。
string input = "catfish";
var mammals = new [] {"dog", "cat", "human", "dolphin"};
var result = mammals.Any(v => v == input);
result
false
为"catfish"
,true
为"cat"
。
您还可以将其包装为字符串的扩展方法:
public static bool EqualsAny(this string str, IEnumerable<string> validStrings) {
return validStrings.Any(v => v == str);
}
var result = input.EqualsAny(mammals);
答案 1 :(得分:0)
你需要EqualsAny ..
// string extension method
public static bool EqualsAny(this string source, params string[] prms)
{
return prms.Contains(source);
}