2012-03-06 10 views
0

PHPで作業するとき、私はいつも自分の文字列変数を宣言し、安全にするためにnullに設定します。私はビジュアルベーシックを初めて学び、文字列変数を宣言する最も安全な方法が何であるか疑問に思っています。ウィルビジュアルベーシックで文字列変数を宣言する安全な方法はありますか?

Dim strWords As String 

で十分でしょうか?または、それをnullまたは何もまたは他のデフォルト値またはプリミティブ型に設定する方が良いでしょうか?

+0

はい、私が知ることができたからです。 (しかし、私は初心者ですので、2セントの価値の半分の塩でアドバイスをしてください) –

+0

これはVB6またはVB.netですか? –

+0

@Gそれは良い質問です。私はそれがVB6の単純なコンソールアプリケーションを書いているので私は信じている – Scott

答えて

3

デフォルトでは、strWordsはデフォルトではNothingになります。

変数を宣言するときに値を設定することで、この値が決して何もないことを保証するのではなく、strWordsがNothingである可能性を残さないようにする必要があります。

あなたは文字列が空または何もでないかどうかを確認する必要がある場合は、あなたが行うことができます:

If Not String.IsNullOrEmpty(strWords) Then 
+0

だから私は書く:もしstrWordsの場合....それはstrWordsが何も等しくないかどうかチェックしますか? – Scott

+1

@Scott - no。 'If​​ Not String.IsNullOrEmpty(strWords)Then ... 'を使用してください。 –

+0

+1これはVBなので、文字列が空でないかどうかをチェックすることができます。* strWords <>" "Then * VB組み込み関数は""と同じものはありません – MarkJ

2

文字列変数を宣言するための最良の方法は、宣言の直後に空の文字列に設定することです。ほとんどの.NET開発者が文字列を ""またはNothingに設定するのはよくある間違いです。これは間違っています。なぜなら、実際には.NET CLRでは空の文字列ではなく、後でコード内で文字列を参照するとNothingがNullReferenceExceptionをスローする可能性があるからです。以下は、文字列の宣言のための正しいコードです:.NETとVB.netでは

Dim str As String = "" ' <--This is "not best practice" 
Dim str2 As String = Nothing ' <--This is "not best practice" 
Dim str3 As String = vbNullString ' <--This is "not best practice" 
Dim str4 As String = String.Empty ' <--correct 
+0

Nothingに設定された文字列は、VBではC#よりもNullReferenceExceptionが発生しにくいです。 VBの組み込み関数はNothingを ""と同じものとして扱います。 – MarkJ

0

は、文字列を宣言するための最良の安全な方法は、変数に型の名前を与えることです。例:

Dim MyString As System.String 

混乱を避けるために完全修飾名の文字列(または任意の型)を宣言したいと思います。そして、これをしないでください:

Dim MyString = "hello world" 
関連する問題