2009-05-06 15 views
1

Ich habe developerfusion.com verwendet, um einen Ausschnitt meines C# -Codes in VB .NET zu konvertieren, und ich bemerkte, dass der String-Typ in [String] übersetzt wurde.vs String in .NET

Ich versuchte Google und Suche SO ohne Erfolg, also werde ich die Community fragen, gibt es einen Unterschied zwischen [String] und String? Und wenn ja, was ist/sind die Unterschiede?

Antwort

6

Der Konverter hat das wahrscheinlich getan, weil er den Zeichenfolientyp nicht erkannt hat und dachte, dass es sich um eine in Ihrem Code definierte Klasse handelt.

Sie können Klammern um Identifikatoren setzen, um Schlüsselwörter zu verwenden. Sie könnten Ihre eigene [String] Klasse erstellen, die in String Klasse aus dem gebaut wäre anders, aber das von könnte natürlich leicht verwirrend ...

Public Class [String] 
    Public Value As Integer 
End Class 

Dim s As New [String] 
s.Value = 42 
1

Klammern geben normalerweise einen Variablennamen an, der ein reserviertes Schlüsselwort verwendet. Haben Sie String-Variablen String benannt?

8

In VB.Net wird das [] um ein Wort herum verwendet, damit ein Schlüsselwort als normaler Bezeichner verwendet werden kann. Mit [String] möchte ich also etwas mit dem Wort String und nicht mit dem VB-Schlüsselwort String identifizieren.

+0

Vielen Dank Jared! Deine Antwort und Guffas waren akzeptabel. Also habe ich deine Antwort gewählt und akzeptiert, dass Guffas Antwort auf Guffas Antwort vor deiner kam und ein Beispiel enthielt. Nochmals vielen Dank an euch beide! – PersistenceOfVision

+0

Für C# Entwickler ist es das Äquivalent von @ vor Variablennamen wie @this – ShuggyCoUk

1

Brackets können in VB.NET verwendet werden VB.NET Schlüsselwörter zu ermöglichen als benutzerdefinierte Namen verwendet werden. Zum Beispiel könnten Sie eine Klasse erstellen Integer genannt, obwohl es bereits ein Integer Schlüsselwort in VB.NET ist:

Public Class [Integer] 
End Class 

Hope this stellt klar!