C#の正規表現で.(ピリオド)で改行を含む方法

正規表現のピリオドは「任意の1文字にマッチする」という意味だが、唯一“\n”にはマッチしない。

スマートな文字列処理のための正規表現入門(前編)
.NET Frameworkがサポートする正規表現クラスを徹底活用する
http://www.atmarkit.co.jp/fdotnet/basics/regex01/regex01_04.html

というわけで、ピリオドを使っても、改行を含む文字列ではマッチしない。
これを改行を含むようにするには、一致オプションにRegexOptions.Singlelineを指定する。

	string s = "hoge\r\nhoge";
	Regex.IsMatch(s, "^.{0,20}$", RegexOptions.Singleline)
DOBON.NET
C#でLike演算子の代わりになるものは?
http://dobon.net/vb/dotnet/vb2cs/vblike.html