0

配列内の文字列パターンが文字列に含まれているかどうかを確認する必要があります。次のコードを使用していますが、パターンではなく配列に含まれる正確な文字列と一致するため、次のコードは失敗します。これどうやってするの?

String[] stringArrayToBlock = { "#", "/", "string1:", "string2" };
String SearchString = "String1:sdfsfsdf";

 if (stringArrayToBlock.Contains(SearchString.Trim().ToLower()))
 { 
   //Do work
 }
4

2 に答える 2

3

逆にすればいいと思います。さらに、LINQ を使用する場合は、Enumerable.Any メソッドが非常に便利です。

string[] stringArrayToBlock = { "#", "/", "string1:", "string2" };
string SearchString = "String1:sdfsfsdf";
string lowerCaseString = SearchString.Trim().ToLower();
if (stringArrayToBlock.Any(s => lowerCaseString.Contains(s)))    
{
    //Do work
}
于 2012-12-03T07:17:12.033 に答える
3

LINQAny()メソッドを使用して、配列のいずれかの要素が条件を満たすかどうかを判断します。ここContainsで使用される方法はstring、 ではなく の方法ですArray

String[] stringArrayToBlock = { "#", "/", "string1:", "string2" };
String SearchString = "String1:sdfsfsdf";

 if (stringArrayToBlock.Any(s => SearchString.Trim().ToLower().Contains(s)))
 { 
     //Do work
 }
于 2012-12-03T07:17:19.663 に答える