実際に変換する必要がない限り、VBのビルトイン変換関数(CStr、CDate、CBool、CIntなど)は通常使用しません。私がちょうどオブジェクトから文字列にキャストしているのであれば、私は通常、CStrなどが私が必要としない余分なものをやっているという前提のもと、DirectCastまたはTryCastを使います。しかし、次の例のようにDirectCastの構文が少し煩雑になることがあります。VB CStr、CDate、CBoolなどと変換なしのキャスト用DirectCast
Dim value1 As String
Dim value2 As String
Using cn As New SqlConnection(cnStr)
Using cmd as New SqlCommmand(sqlStr, cn)
Using reader = cmd.ExecuteReader()
While reader.Read()
value1 = DirectCast(reader("COLUMN1"), String)
value2 = CStr(reader("COLUMN1"))
End While
End Using
End Using
End Using
SqlDataReader.ItemはObjectを返します。ObjectはStringにキャストする必要があります。 CStrは読みやすく、タイプし、説明するのが簡単です(IMO)。
私の質問は、私が使っているものは何ですか?私はちょうどCStr(とCDateとCBoolなど)に行き、それらの関数がやっていると思う追加の作業について心配する必要はありませんか?
これらの機能を使用することには他に欠点はありますか?あなたの例では
+1リンクをありがとう。 –
Paul Vickは、DirectCastのスピードの利点はそれほど重要ではないと言います。しかしDirectCastのもう一つの利点は、安全性(プログラミングエラーの早期発見)です。無差別にCStrなどを使うことは、 'Option Strict Off'への一歩です。そしてあなたはそれを望んでいません。 – MarkJ