Signification de underscore comme préfixe variable dans VB.net

Quelle est la signification de underscore dans visual basic? J'ai ce code:

Private _isAuthenticated As Boolean

Est-ce la même chose que de faire cela?

Private isAuthenticated As Boolean

ou est-ce que l'ajout du trait de soulignement au recto du nom fait quelque chose de spécial?

12
demandé sur Jason Ball 2011-12-15 07:49:58

5 réponses

C'est une convention. Un _ principal indique souvent que la variable est privée à la classe. Cette convention est couramment utilisée dans de nombreuses langues, et pas seulement en VB.

Dans un sens analogue, il indique également que la variable est la variable locale derrière une propriété.

Toutefois, il n'a pas de signification pour le compilateur.

19
répondu 勿绮语 2012-02-28 03:32:05

FYI: si vous regardez le code VB avant L'ère.net (i.e.: VB6, dont il y a une tonne là-bas) le caractère _ avait une signification spéciale en ce qu'il était un caractère de continuation de ligne. Les Variables ou les lignes ne peuvent pas commencer par un _

exemple D'utilisation de VB6 de _:

Dim str As String
str = "This is part one of a very long string" & _
        "Notice that this is more text" & _
        "AND SOME MORE"

I am pretty sure that in VB.NET le _ continue de fonctionner comme un caractère de continuation de ligne, cependant la restriction de nom de variable a été évidemment levée.

38
répondu codechurn 2011-12-15 05:22:46

à la fin d'une ligne, il peut être utilisé pour diviser le code en plusieurs lignes si elle est précédée d'un espace et le caractère suivant est la nouvelle ligne (_ est le dernier symbole sur la ligne & suivi d'un espace.

voir http://msdn.microsoft.com/en-us/library/ba9sxbw4.aspx

3
répondu William 2014-09-05 17:16:52

beaucoup utilisent le préfixe underscore pour les membres de terrain de la classe. Ces variables devraient être scopées comme Private. C'est juste une convention.

2
répondu Phil Klein 2011-12-15 03:52:03

le _ (symbole de soulignement) est utilisé juste parce que pour notifier qu'il s'agit d'une variable privée.

2
répondu Akshay 2013-09-26 05:15:13