次のコードが示すように、C#の組み込み型であるstring
、VB.NETの組み込み型であるString
は、どちらも.NET FrameworkにおけるSystem.Stringクラスのエイリアス(別名)であるため、両者は全く同じ型となります。
したがって、string型/String型として宣言した変数と、System.Stringとして宣言した変数はどちらも同じ型となるため、相互に代入可能で、かつどちらも同じメソッド・プロパティを使用することができ、全く同じように扱うことができます。
各言語の組み込み型と.NET Frameworkの型との対応については型の種類・サイズ・精度・値域 §.基本的なデータ型と対応する各言語の型を参照してください。
静的メソッドを呼び出す場合も同様で、文字列型またはSystem.Stringクラスのメソッドとして呼び出しても全く同じ動作となります。
文字列型の静的メソッド呼び出し
Imports System
Class Sample
Shared Sub Main()
Dim s1 As String = "foo"
Dim s2 As String = "bar"
' Equalsメソッドを使って2つの文字列が等しいか比べる
Dim b1 As Boolean = String.Equals(s1, s2)
Dim b2 As Boolean = System.String.Equals(s1, s2)
Console.WriteLine(b1)
Console.WriteLine(b2)
End Sub
End Class
実行結果
False False