2009-05-06 7 views
1

J'ai utilisé developerfusion.com pour convertir un extrait de mon code C# en VB .NET et j'ai remarqué le type de chaîne traduit en [String].vs Chaîne dans .NET

J'ai essayé Google et Searching en vain alors je vais demander à la communauté s'il y a une différence entre [String] et String? Et si oui, quelle est la/les différence (s)?

Répondre

6

Le convertisseur l'a probablement fait parce qu'il ne reconnaissait pas le type de chaîne et pensait qu'il s'agissait d'une classe définie dans votre code.

Vous pouvez placer des crochets autour des identificateurs pour utiliser des mots-clés. Vous pouvez créer votre propre classe [String] qui serait différent de celui construit dans String classe, mais cela pourrait obtenir de cours facilement confus ...

Public Class [String] 
    Public Value As Integer 
End Class 

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

Les crochets indiquent généralement un nom de variable utilisant un mot-clé réservé. Avez-vous nommé string variables String?

8

Dans VB.Net, le [] entourant un mot est utilisé pour permettre l'utilisation d'un mot-clé comme identifiant normal. L'utilisation de [String] signifie que je veux identifier quelque chose avec le mot String et non avec le mot-clé VB String.

+0

Merci Jared! Votre réponse et Guffa étaient acceptables. J'ai donc voté votre réponse et j'ai accepté la réponse de Guffa à la réponse de Guffa avant la vôtre et j'ai inclus un exemple. Encore merci à vous deux! – PersistenceOfVision

+0

Pour les développeurs C#, c'est l'équivalent de @ devant les noms de variables comme @this – ShuggyCoUk

1

supports peuvent être utilisés dans VB.NET pour permettre des mots-clés VB.NET à utiliser comme noms définis par l'utilisateur. Par exemple, vous pouvez créer une classe appelée entier, même si il y a déjà un mot-clé Entier dans VB.NET:

Public Class [Integer] 
End Class 

Hope this clarifie!