Das ist effizienter Cstr(Wert) oder Wert.ToString()

Ich bin, Fragen, was effizienter ist, mit CStr() oder object.toString().
Der Grund warum ich Frage dies, weil ich doch CStr() gemacht wurde, zu berufen .ToString () - Methode auf das Objekt, das es zu tun hatte.

Aber wenn Sie vor kurzem unter Verwendung einer generischen Methode ohne Einschränkungen hatte ich mit dem Objekt.ToString() statt CStr(Objekt), das folgende ist rein ein Beispiel zur Verdeutlichung des Problems.

Public Function IDFromObject(Of ID_TYPE)(ByVal value As ID_TYPE) As String
    Return value.ToString
End Function

Zusammengestellt als erwartet, aber die folgenden nicht mit CStr(). Es gab einen Kompilierungsfehler Wert vom Typ ID_TYPE kann nicht in eine Zeichenfolge konvertiert werden. Aber es kann offensichtlich mit .ToString()

Public Function IDFromObject(Of ID_TYPE)(ByVal value As ID_TYPE) As String
    Return CStr(value)
End Function
  • Stellen Sie sicher, dass, wenn Sie testen, dass Sie Sie kompilieren für die VERSION mit Optimierungen. Wenn Sie dies ausführen im debug-vor allem in der IDE, die Ergebnisse werden ganz anders sein.
  • Beachten Sie, dass (A) CStr(x) arbeitet für null-Werte, sondern x.ToString() schlägt fehl, und (B) Enums sind Verschieden; CStr(e) gibt "2", aber e.ToString() gibt "LeftToRight"
InformationsquelleAutor Bigtoe | 2009-06-11
Schreibe einen Kommentar