文字列内が複数のの文字列の何れかを含んでいるか
任意の文字列を含んでいるか?なら以下で事足りる。
string s = "abcdefg";
s.Contains("bcd"); // true
SQLのINのように書いてみたかったので、以下の様にしてみた。
public static class GenericExtensions
{
public static bool Contains(this string str, params string[] param)
{
foreach (string s in param)
{
if (str.Contains(s))
return true;
}
return false;
}
public static bool In(this string str, params string[] param)
{
foreach (string s in param)
{
if (str.Contains(s))
return true;
}
return false;
}
}
static void TestIn()
{
var inCause = new string[] { @"ABC", @"DEF", @"XYZ" };
var testText1 = @"A B C DEF ZZZ";
var testText2 = @"A B C D E F ZZZ";
testText1.Contains(inCause);
testText2.In("XYZ", "b");
}
微妙な感じだけれども、用は足りたので、OKとしている。