Object
を.NETのString
に変換する多くの方法を見てきました。通常、オブジェクトタイプがわからないときにオブジェクトの値をユーザーに表示するためです。オブジェクトを文字列に変換するベストプラクティス
これらを含める:
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)
は、Microsoftが推奨される方法がある、またはこれらはすべて同じバイトコードにダウンコンパイルするには?
EDIT:
私が含まれるように、質問を少し拡大してみましょう:
これらの方法の違いは何ですか?私はボンネットの下で何が起こっているのか見当がつかないので、他のものに比べてパフォーマンス上の利点があるかどうかを知ることは良いことです。場合によっては、これらの呼び出しが数千回(大きなテーブルからの読み込みなど)行われ、数秒のシェービングがUXの大きな影響を与えることがあります。
では、この問題をMicrosoftの推奨標準であれば、あなたは知っていますか?他の2つの方法と比べて、オーバーヘッドが導入されているかどうか、考えてください。私はCLRの忍者ではないので、実際にバイトコードレベルで比較することはできません。 – JDB
パフォーマンスの面では、物事は賢く変わらないと思いますが、より安全である方が良いです。 –
ありがとうございます - これは最も有益な答えでした。私はテスト結果に答えを加え、基本的にあなたの提案を確認しました。 – JDB