(このドキュメントは未整理です)
現在はあまり推奨されませんが、Microsoft.VisualBasic名前空間のStringsクラスのメソッドを使うことで、VB由来の文字列操作関数を使うことも出来ます。 VB.NETでもこれらの関数を使うことは出来ますが、新規に書くコードではできるだけStringクラスのメソッドを使うべきです。 これらの文字列操作関数ではインデックスが1から始まる(1-based)として扱われる一方、.NET Frameworkでは0から始まる(0-based)として扱われるため、混乱を招いたり意図しない動作となる可能性があります。
C#でVBの文字列操作関数を使う
using System;
using Microsoft.VisualBasic;
class Sample {
static void Main()
{
Console.WriteLine("<{0}>", Strings.LTrim(" foo"));
Console.WriteLine("<{0}>", Strings.RTrim("foo "));
Console.WriteLine(Strings.UCase("foo"));
Console.WriteLine(Strings.LCase("FOO"));
Console.WriteLine(Strings.Mid("The quick brown fox jumps over the lazy dog", 1, 9)); // '1'文字目から9文字分を取得する
Console.WriteLine("The quick brown fox jumps over the lazy dog".Substring(0, 9)); // '0'文字目から9文字分を取得する
Console.WriteLine(Strings.InStr("The quick brown fox", "FOX", CompareMethod.Binary));
Console.WriteLine(Strings.InStr("The quick brown fox", "FOX", CompareMethod.Text));
Console.WriteLine("The quick brown fox".IndexOf("FOX"));
Console.WriteLine("The quick brown fox".IndexOf("FOX", StringComparison.CurrentCultureIgnoreCase));
}
}
実行結果
<foo> <foo> FOO foo The quick The quick 0 17 -1 16