Widziałem wiele sposobów przekształcania Object
w String
w .NET, zazwyczaj w celu wyświetlania wartości obiektu dla użytkownika, gdy typ obiektu nie jest znany.Najlepsza praktyka przekształcania obiektu na ciąg
Należą do nich:
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)
Czy istnieje metoda, która jest zalecana przez Microsoft, lub robić te wszystkie skompilować dół do tego samego kodu bajtowego?
EDIT:
Pozwól rozwinąć pytanie trochę obejmuje:
Jakie są różnice między tymi metodami? Nie widzę, co się dzieje pod maską, więc dobrze byłoby wiedzieć, czy jest jakaś zaleta wydajnościowa nad innymi. W niektórych przypadkach połączenia te mogą być wykonywane kilka tysięcy razy (na przykład podczas czytania z dużego stołu), a golenie o kilka sekund może mieć duży wpływ na UX.
Czy wiesz, jeśli jest to zalecana norma Microsoftu? Czy jest jakiś pomysł, co, jeśli w ogóle, narzut, w porównaniu do pozostałych dwóch metod? Nie jestem zbytnio ninja CLR, więc nie mogę ich porównać na poziomie kodu bajtowego. – JDB
Myślę, że pod względem wydajności rzeczy nie zmieniają się sensownie, lepiej być bezpieczniejszym. –
Dzięki - to była najbardziej pomocna odpowiedź. Dodałem odpowiedź z wynikami testu i zasadniczo potwierdziłem twoją sugestię. – JDB