StartsWithメソッド・EndsWithメソッドでは、文字列比較時の動作をStringComparisonで指定することができます。 例えば、大文字小文字の違いを無視して部分文字列が一致するかどうかを調べることができます。
String.StartsWith・EndsWithメソッドで大文字小文字の違いを無視する
using System;
class Sample {
static void Main()
{
var s = "The quick brown fox jumps over the lazy dog";
// 文字列が"the"で始まるかどうか調べる
Console.WriteLine(s.StartsWith("the", StringComparison.Ordinal)); // 大文字小文字の違いを無視しない
Console.WriteLine(s.StartsWith("the", StringComparison.OrdinalIgnoreCase)); // 大文字小文字の違いを無視する
// 文字列が"DOG"で終わるかどうか調べる
Console.WriteLine(s.EndsWith("DOG", StringComparison.Ordinal));
Console.WriteLine(s.EndsWith("DOG", StringComparison.OrdinalIgnoreCase));
}
}
実行結果
False True False True
Containsメソッドも同様に、文字列比較時の動作をStringComparisonで指定することができます。 ただし、ContainsメソッドにStringComparisonを指定できるオーバーロードは、.NET Standard 2.1/.NET Core 2.1以降でのみ使用できます。
文字列比較時のオプションStringComparisonについては文字列と比較オプション・カルチャの並べ替え規則 §.StringComparison列挙型とStringComparerクラスで詳しく説明しています。