2016-01-22 7 views
5

Der Unterstrich erlaubt es mir, Dinge wie dieseGibt es ein Gegenteil der Unterstrich (_) Zeilenfortsetzung?

Public Sub derp _ 
     (x As Integer) 
     MsgBox(x) 
    End Sub 

Gibt es eine entgegengesetzte Schreibweise für dies zu tun? Zum Beispiel, wenn es ¯ ist dann könnte ich

Public Sub derp(x as Integer) ¯ Msgbox(x) ¯ End Sub 
+5

Vielleicht sollten Sie überlegen, C# zu verwenden, wenn das für Sie wichtig ist. –

+0

Für bestimmte Dinge können Sie dies tun ..... zum Beispiel, "Wenn MyBool dann DoStuff", anstatt mehrere Zeilen und EndIf zu verwenden. – GendoIkari

+2

Eigentlich gibt es sehr wenige Orte, an denen Sie den Unterstrich in diesen Tagen verwenden müssen. In den Fällen, in denen du das tust, solltest du wahrscheinlich nicht - wie in deinem Beispiel –

Antwort

0

Sure-den Doppelpunkt tun:

Public Sub derp(x as Integer) : MsgBox(x) : End Sub 

Aber nicht dieses missbrauchen. Der Compiler lädt nicht durch die Linie.

über das einzig Mal, dass ich es verwende, ist, wenn ich eine Vererbungsbeziehung Gründung:

Public Class Rectangle : Inherits Shape 
    ... 
End Class 

Irgendwie, dass ich nur mehr logisch erscheint als die Inherits in der Klasse Körper setzen. Und du kannst es nicht einmal meinen C++ - Wurzeln vorwerfen, weil VB meine erste Sprache war.

+0

- versuchen, dieses Frage/Antwort-Paar als ternäre Operation zu konstruieren. – Draco18s

+4

Ich weiß über den Doppelpunkt aber afaik funktioniert es nur auf den inneren Bits (wie Variablen zuweisen oder Funktionen aufrufen), aber nicht außerhalb, Ihre Beispielzeile gibt mir "First-Anweisung eines Methodenkörpers kann nicht in der gleichen Zeile wie die Methodendeklaration sein. " – user81993

+0

Das ist der einzige Ort, an dem ich auch einen Doppelpunkt verwende. Sieht einfach richtig aus. –

1

Sie können versuchen, einen Doppelpunkt zu verwenden. Aber Sie können die Funktion/Unterkörper nicht in die gleiche Zeile wie die Deklaration der Funktion/Untergruppe setzen.

Public Sub derp(x As Integer) 
    MsgBox(x) : MsgBox("Hello, world") : End Sub 

Sie können auch versuchen, einen Aktionsdelegaten zu verwenden. Aber es kann nur 1 Aussage haben, wenn Sie sie in 1 Zeile setzen möchten.

Public herp As Action(Of Integer) = Sub(x) MsgBox(x) 

Wenn Sie mehrzeilige haben wollen, schreiben Sie es wie folgt aus (Sie können Doppelpunkte verwenden, wenn Sie möchten):

Public herp As Action(Of Integer) = Sub(x) 
             MsgBox(x) 
             MsgBox("Hello, world") 
            End Sub 

Verwenden Func delegieren, wenn Sie einen Wert stattdessen zurückgeben möchten von Aktionsdelegierter

Verwandte Themen