Oggi, parlando con il mio collega, qualcosa di strano è uscito dalla sua mente.VB.net Comportamento speciale di mezz'aria dell'operatore sinistro (strano?)
Un modo "segreto" per gestire stringhe provenienti da VB6, che era come:
Dim strSomeString as String
strSomeString = "i am phat"
Mid$(strSomeString, 6,4) = "hack"
Questo metterebbe i am hack
all'interno strSomeString
.
Pur essendo sorpreso di questa stranezza supportata nel vb6, sono stato totalmente sconvolto quando ho letto che it is supported in VB.Net too (probabilmente per compatibilità con il vecchio codice).
Dim TestString As String
' Initializes string.
TestString = "The dog jumps"
' Returns "The fox jumps".
Mid(TestString, 5, 3) = "fox"
' Returns "The cow jumps".
Mid(TestString, 5) = "cow"
' Returns "The cow jumpe".
Mid(TestString, 5) = "cow jumped over"
' Returns "The duc jumpe".
Mid(TestString, 5, 3) = "duck"
La mia domanda è: come funziona tecnicamente? Che cosa è Mid
comportarsi come in quella particolare situazione? (Metodo? Funzione? Metodo di estensione?)
Nel mio tempo facendo VB6, non ho mai saputo che questo era lontanamente possibile. Per favore, dimmi che nessuno lo sta facendo in .Net di proposito! –
Nessun problema. Fare così avverte asincronicamente Microsoft, che invierà persone cattive che sconfiggono il genio che l'ha fatto. –