4

C#からVBへの自動トランスレーターを介してコードを実行すると、次のようなコードが変換されました。

Public Property Title As [String]

これはどのように違うのですか

Public Property Title As String

そして、なぜ両方が存在するのですか?

4

3 に答える 3

12

Stringキーワードです。キーワードを識別子として使用する場合は、角かっこで囲む必要があります。[String]は識別子です。Stringキーワードは常にSystem.Stringクラスを参照しますが、現在の名前空間で指定された[String]独自のクラスを参照することもできます。Stringあなたが持っていると仮定するとImports System、両方ともほとんどの場合同じものを参照しますが、それらは異なる可能性があります:

Module Test
    Class [String]
    End Class
    Sub Main()
        Dim s As String = "Hello World"        // works
        Dim s2 As [String] = "Hello World"     // doesn't work
    End Sub
End Module

キーワードを識別子として扱うために存在する主な理由は、[ ]VBキーワードをタイプ名またはメンバー名として使用する可能性のある他の言語のライブラリとの相互運用性です。

于 2010-03-05T11:10:53.180 に答える
1

[]を使用すると、c#の@のように、VBキーワードを識別子として使用できます。ここでは役に立たない。

于 2010-03-05T11:11:05.997 に答える
0

その例では、何もしません。(*)ただし、角かっこを使用して、予約語を識別子として使用できます。例えば:Dim [String] as String

[String]編集:(*)彼らが参照している可能性があると呼ばれる独自のクラスを定義していない限り

于 2010-03-05T11:11:24.523 に答える