2013-10-23 23 views
14

Sto copiando alcune istruzioni di query da un'app VB legacy a un'app C#. Non ho familiarità con VB, anche se guardarlo mi fa desiderare un VB (Victoria Bitter). Mi sono imbattuto in query costruite in questo modo:Che cosa significa "& _" in VB?

*SELECT dp_duckbill_accounts.platypus_no AS duckbill, t_accounts.name AS Name " & _ 
"FROM t_accounts INNER JOIN dp_duckbill_accounts ON t_accounts.account_no = dp_duckbill_accounts.account_no " & _ 
"ORDER BY dp_duckbill_accounts.platypus_no* 

Il "& _" Dammi una pausa. Se fosse solo "&", penserei che corrisponda a "+" in C# per concatenare le stringhe. Ma quale è il punto del trattino basso nel mondo? Nota la e commerciale e il carattere di sottolineatura sono separati da uno spazio.

+4

Va notato che [implicita continuazione di riga è stato aggiunto in VB.NET 2010] (http://msdn.microsoft.com/en-us /library/vstudio/we86c8x2(v=vs.100).aspx#implicitlinecontinuation), rendendo il _ obsoleto per molti casi. –

+2

@ j.i.h .: Wow, solo 22 anni di lavoro. –

+0

Lo uso ancora in principal ... –

risposta

22

Il trattino di sottolineatura è line continuation character. Permette alla concatenazione di includere una linea diversa. In questo modo:

x = "Hello " & "World" 

x = "Hello " & _ 
    "World" 

'this won't compile (pre vb.net 2010, anyway) 
    x = "Hello " & 
    "World" 

Line Continuation on MSDN

How to: Break and Combine Statements in Code (Visual Basic)

+2

Documenti obbligatori: http://msdn.microsoft.com/en-us/library/vstudio/ba9sxbw4.aspx –

+0

@BradChristie Ho aggiunto un altro link, ma quello è più bello, I ' Lo aggiungerò anche alla mia risposta, grazie! – Mansfield

+0

VB.net 10 ha eliminato la necessità di continuare la linea di sottolineatura http://www.infoq.com/news/2009/04/vb_underscores – dwerner

7

_ significa continua la dichiarazione sulla riga seguente.

quindi ... & _ significa continuare concatenando la stringa nella riga seguente.

text = "One line string" 
text = "Two line " & _ 
     "string" 
3

Questo è solo un carattere di continuazione della linea che consente di passare alla riga successiva.

1

& - viene utilizzato per la concatenazione di stringhe nella stessa riga. esempio - sConcatenatedString = "Prima" & "Secondo"

& _ - è utilizzato per concatenazione di stringhe in diverse linee. esempio - sConcatenatedString = "Primo" & _ "Secondo"