Ho visto un certo numero di modi per convertire uno Object
in uno String
in .NET, in genere per visualizzare il valore dell'oggetto per l'utente quando il tipo di oggetto non è noto.Procedura consigliata per convertire un oggetto in stringa
Questi includono:
Dim x as Object = 3
Dim y as Object = Nothing
Dim z as Object = DBNull.Value
Dim l_displayString As String
l_displayString = "" & x & "" & y & "" & z
l_displayString = If(x, "").ToString() & If(y, "").ToString() & If(z, "").ToString()
l_displayString = Convert.ToString(x) & Convert.ToString(y) & Convert.ToString(z)
Esiste un metodo che è raccomandato da Microsoft, o non tutti questi compilare verso il basso per lo stesso codice di byte?
EDIT:
Lasciate che vi spieghi la questione un po 'per includere:
Quali sono le differenze tra questi metodi? Non riesco a vedere cosa sta succedendo sotto il cofano, quindi sarebbe bello sapere se c'è un vantaggio sulle prestazioni di uno rispetto agli altri. In alcuni casi, queste chiamate possono essere fatte diverse migliaia di volte (come la lettura da un grande tavolo) e la rasatura di un paio di secondi può causare un grande impatto sulla UX.
fai a sapere se si tratta di standard raccomandato di Microsoft? Qualche idea su quale sia l'eventuale overhead introdotto rispetto agli altri due metodi? Non sono molto un ninja CLR, quindi non posso davvero confrontarli a livello di codice byte. – JDB
Penso che in termini di prestazioni le cose non cambino sensibilmente, è meglio essere più sicuri. –
Grazie - questa è stata la risposta più utile. Ho aggiunto una risposta con i risultati del test e sostanzialmente ha confermato il tuo suggerimento. – JDB