本当に退屈な質問です。申し訳ありませんが、私はまだそれを知らないのです;)私はいつもstring.emptyを試しましたが、10進数ではエラーが発生します。VB intが空であることを確認してください
機能はありますか?残念ながら、最も簡単な質問のために、
本当に退屈な質問です。申し訳ありませんが、私はまだそれを知らないのです;)私はいつもstring.emptyを試しましたが、10進数ではエラーが発生します。VB intが空であることを確認してください
機能はありますか?残念ながら、最も簡単な質問のために、
あなたのタイトル(およびタグ)は "int"について質問しますが、あなたの質問には "小数"のエラーが表示されています。いずれにしても、value type(Integer
,Decimal
など)の場合、「空」となることはありません。可能であればに設定することはできません(String
またはクラスのように)reference typeとすることはできません。代わりに、値型には、その型の変数をデフォルト値に自動的に初期化する暗黙のデフォルトコンストラクタがあります。Integer
およびDecimal
などの数値の場合は0です。他のタイプの場合は、this tableを参照してください。
ですから、値型は、次のコードで初期化されているかどうかを確認することができますmySecondFavoriteNumber
は自動的に0に初期化されていることを
Dim myFavoriteNumber as Integer = 24
If myFavoriteNumber = 0 Then
''#This code will obviously never run, because the value was set to 24
End If
Dim mySecondFavoriteNumber as Integer
If mySecondFavoriteNumber = 0 Then
MessageBox.Show("You haven't specified a second favorite number!")
End If
注意(Integer
のデフォルト値)舞台裏でコンパイラのため、If
ステートメントはTrue
です。実際には、上記mySecondFavoriteNumber
の宣言は、以下の文と同じです。
Dim mySecondFavoriteNumber as Integer = 0
、あなたはおそらく気づいたとして、その人の好きな番号が実際 0であるかどうかを知る方法はありません、彼らがまだ好きな番号を指定していないのならば。 あなたは本当にとして代わりに変数を宣言、あなたはNullable(Of T)
を使用することができ、Nothing
に設定することができる値の型が必要な場合:
Dim mySecondFavoriteNumber as Nullable(Of Integer)
そして、次のように割り当てられているかどうかをチェックする。
If mySecondFavoriteNumber.HasValue Then
''#A value has been specified, so display it in a message box
MessageBox.Show("Your favorite number is: " & mySecondFavoriteNumber.Value)
Else
''#No value has been specified, so the Value property is empty
MessageBox.Show("You haven't specified a second favorite number!")
End If
を
まあ、数のデフォルト値は0になり、Googleで何も答えはありませんが、あなたもこれを試すことができます場合
int x = 123;
String s = "" + x;
をして、長さを確認しますか、文字列 's'は空です。
はたぶんあなたが探していることは
Dim foo As Nullable(Of Integer) = 1
Dim bar As Nullable(Of Decimal) = 2
If foo = 1 Then
If bar = 2 Then
foo = Nothing
bar = Nothing
If foo Is Nothing AndAlso bar Is Nothing Then Stop
End If
End If
ただ、サイドノートNULL可能である:実際にあなたが* *値の型に何を割り当てることはできませんVB.Netで。しかし、その場合、Nothingは 'null'ではなく 'default(T)'を意味するわけではないので、整数の場合は0と同じです。 – jeroenh
@jeroenh:そうです。参照型*でできるように 'Nothing' *に設定することはできないと言ったことに注意してください。値の型を 'Nothing'に設定すると、その型がデフォルトの型に初期化されます。要点は、値型のためのそのような「ヌル」状態または「空」状態が存在しないことである。それらは常に値を含みます。 –
最近、「Dim mySecondFavoriteNumber as Integer?」は、「Dim mySecondFavoriteNumber as Nullable(Of Integer)」と同じです。 –