StringのNothingと""の違い?
- 題名: StringのNothingと""の違い?
- 著者: yuyu
- 日時: 2004/02/24 15:52:52
- ID: 2657
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: StringのNothingと""の違い?
- 著者: よねKEN
- 日時: 2004/02/24 19:17:30
- ID: 2665
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: StringのNothingと""の違い?
- 著者: yuyu
- 日時: 2004/02/27 2:28:02
- ID: 2745
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
お世話になっております。
他人のソースを読んでると、
場合によって
If str = "" Then
If str = Nothing Then
If str.CompareTo("") = 0 Then
と使い分けてるのですが、
これらのコードにはどういった場合にどのような違いがあるのでしょうか?
ヘルプには、「変数にNothingを代入すると、その変数の型の既定値が設定される」とあるのですが、
例えば以下のソースで、
---
Dim str As String
str = ""
If str = Nothing Then 'True
End If
If str.CompareTo("") = 0 Then 'True
End If
str = Nothing
If str = "" Then 'True
End If
If str.CompareTo("") = 0 Then 'エラー
End If
---
3つ目のIfが通り、4つ目のIfでエラーが出るのはなぜなのでしょうか。
1つ目のIfでNothing(Stringの規定値)が""なのかと思ったのですが、
それだと4つ目でエラーが起きる理由が分かりませんし・・・。