- PR -

VBでのNULL判定の書き方

投票結果総投票数:105
Not o Is Nothing 69 65.71%
o Is Nothing = False 13 12.38%
Not IsNothing(o) 12 11.43%
IsNothing(o) = False 11 10.48%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2006-02-16 13:40
個人の好みの問題に拠るところなんでしょうが…
ちょっと興味があったので投票箱にしてみました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-16 14:02
やはり Null 判定というか、Null でない判定なんですね。(^^)
私の場合 IsNothing は絶対に使いません。
構文サポートの obj Is Nothing を使います。

また、VB2005 (VB8) からは IsNot 演算子もありますよね。

  If obj IsNot Nothing Then

加えてあげてください。(^^)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-02-16 15:13
IsNot 演算子があったら絶対これかなー
早く VB8 が主環境になれば良いな

#でもまだVB6が・・・
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-02-16 15:30
まずIs NothingしてExit Functionするか、そのElseを取るか、だったかなあ。
ここ1年以上、VBはまともに触ってない…。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-16 15:45
引用:

mioさんの書き込み (2006-02-16 15:30) より:

まずIs NothingしてExit Functionするか、そのElseを取るか、だったかなあ。


私も検証した結果、何かをするのであれば「ガード句」扱いにしますね。

コード:

    Private Function Hoge(ByVal o As 参照型) As Boolean
        If o Is Nothing Then
            Return False
        End If

        ' これ以降に主処理
               :
    End Function


ただ、以下のようなシナリオでは冗長になるので Not 判定ですね。

コード:

    Try
            :
    Finally
        If Not o Is Nothing Then
            o.Dispose()
        End If
    End Try


よくある using もどき IDisposable パターンです。(^-^;)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2006-02-16 16:13
引用:

じゃんぬねっとさんの書き込み (2006-02-16 14:02) より:
また、VB2005 (VB8) からは IsNot 演算子もありますよね。

  If obj IsNot Nothing Then

加えてあげてください。(^^)


残念ながら、投票箱の編集はできないんですね(確かに編集可能なのも問題ありか)
しかも追加できたとして80バイトには収まらないし(^^;
まだ2003使ってるのでIsNot演算子の存在は知りませんでした。
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-02-16 16:44
not obj Is Nothing ですね。

僕は、if 分の条件文は () で括る癖があるので、実際には

if (not (obj Is Nothing)) then

と書きます。

if ((obj Is Nothing) = True)
if ((obj if Nothing) = False)

このように条件文で、True False を明示したことはありませんね。
まどか
ぬし
会議室デビュー日: 2005/09/06
投稿数: 372
お住まい・勤務地: ますのすし管区
投稿日時: 2006-02-16 16:47
好みどころか最初のしか浮かばない。。。(汗

ところで、今回のようにBoolean値で肯定否定の意味を持つ単語に対して= True(False)は書きますか?
私は嫌いです。(^^;
#評価式ってのを理解してないという印象があったりします。
#例えば、If -1 Then を見せると「何じゃこれ?」という人たち。

スキルアップ/キャリアアップ(JOB@IT)