C#にVBのLike演算子はありません。これと同等の処理をするには、Regexクラス(System.Text.RegularExpression名前空間)のIsMatchメソッドを使う方法、つまり正規表現を使う方法、があります。Like演算子の"*"、"?"、"#"はそれぞれ正規表現では、".*"、"."、"\d"に置き換えることが出来ます。Like演算子の"[]"は正規表現でも"[]"で、Like演算子の"[!]"は正規表現では"[^]"と表現できます。
正規表現の"."は改行文字以外の文字を表すため、改行文字を含む文字列の比較では同一の結果とならないかもしれません。このような時は一致オプションにRegexOptions.Singlelineを指定し、単一行モードとします。このことにより、"."はすべての文字と一致するようになります。
さらに、Like演算子は2つの文字列が完全に一致するかを調べるのに対して、IsMatchメソッドは一致する箇所があるか調べるものです。よって、IsMatchメソッドでは検索パターン文字列の前後に"^"と"$"を付ける必要がありそうです。
Like演算子の動作は、Option Compareステートメントによって変わります。Option CompareステートメントがTextの時ように大文字と小文字を区別しないならば、一致オプションにRegexOptions.IgnoreCaseを指定します。Regexクラスは規定では現在のカルチャを使用しますが、Option CompareステートメントがBinaryの時ようにカルチャの違いを無視するには、一致オプションにRegexOptions.CultureInvariantを指定します。
当然ですが、検索パターン文字列に正規表現で使われるメタ文字が含まれているときは、これをエスケープしておかなければいけません。なおこれはRegex.Escapeメソッドを使ってできます。
実際にこの変換を使用した例を下に示します。この例ではVBのLike演算子のヘルプでのサンプルをC#に変換してみました。
//using System.Text.RegularExpressions; //がソースファイルの一番上に書かれているものとする bool myCheck; //myCheck = "F" Like "F" myCheck = Regex.IsMatch("F", "^F$", RegexOptions.Singleline); //myCheck: true //myCheck = "F" Like "f" myCheck = Regex.IsMatch("F", "^f$", RegexOptions.Singleline); //myCheck: false //myCheck = "F" Like "FFF" myCheck = Regex.IsMatch("F", "^FFF$", RegexOptions.Singleline); //myCheck: false //myCheck = "aBBBa" Like "a*a" myCheck = Regex.IsMatch("aBBBa", "^a.*a$", RegexOptions.Singleline); //myCheck: true //myCheck = "F" Like "[A-Z]" myCheck = Regex.IsMatch("F", "^[A-Z]$", RegexOptions.Singleline); //myCheck: true //myCheck = "F" Like "[!A-Z]" myCheck = Regex.IsMatch("F", "^[^A-Z]$", RegexOptions.Singleline); //myCheck: false //myCheck = "a2a" Like "a#a" myCheck = Regex.IsMatch("a2a", "^a\\da$", RegexOptions.Singleline); //myCheck: true //myCheck = "aM5b" Like "a[L-P]#[!c-e]" myCheck = Regex.IsMatch( "aM5b", "^a[L-P]\\d[^c-e]$", RegexOptions.Singleline); //myCheck: true //myCheck = "BAT123khg" Like "B?T*" myCheck = Regex.IsMatch( "BAT123khg", "^B.T.*$", RegexOptions.Singleline); //myCheck: true //myCheck = "CAT123khg" Like "B?T*" myCheck = Regex.IsMatch( "CAT123khg", "^B.T.*$", RegexOptions.Singleline); //myCheck: false