- - 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% | |
|
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-16 16:54
私の場合、当初はNot (〜)、今は括弧はつけてません。 昔こんなのがあったな。。。 Call ABC(1) - Integer渡しになる Call ABC((1)) - Boolean渡しになる これに気づいて以来、括弧をちょっぴり意識するようになりました。 | ||||||||||||||||
|
投稿日時: 2006-02-16 16:58
ということは、こういうのもアリな訳でしょうか? ちょっとビックリです。
よく読むと納得ですが、2度びっくりです。 [ メッセージ編集済み 編集者: R・田中一郎 編集日時 2006-02-16 17:02 ] | ||||||||||||||||
|
投稿日時: 2006-02-16 17:02
評価式の結果は Boolean なので当然でしょう。 その結果 If True = True Then と書いているようなものってことですね。 私は、C# では書きませんが VB では書いてますね。 ファイルの存在を確認する Not の時は False を使うようにしています。 いや、これが VB 流なんだと思ってまして...w ただ、オブジェクト比較演算子 Is の場合は付けないんですよね。(今思えば変かも) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||
|
投稿日時: 2006-02-16 17:09
Basic でも、True False は明示しないと思いますけど、こういう書き方が用意され ていると言うことは、これを付けないと読めない人がいるからかも知れませんね。 #それにしても C# はすっきり書けていいですね。僕も C# にしようかな。 #でも今まで作った VB2005 の資産はどうなるんだろう。 | ||||||||||||||||
|
投稿日時: 2006-02-16 17:12
あ、いえいえ「私は書きません」という意味でした。 肯定否定が区別のつくものと限定しましたが、 逆にそういう名前を付けない人が多いという別の問題に発展していきますね。。。(--; #内輪の話ですが。。。 | ||||||||||||||||
|
投稿日時: 2006-02-16 19:48
私もあんまり使いませんが、典型的なA型の人間に見られる傾向として
みたいな(笑)
言語によりますよね。 VB.NETで If -1 Then を見せられたら、私も「何じゃこれ?」といいますよ。 #それ以前にOption Strict Onにしたらビルド通りませんし。 例えばC言語だと「ビット列として見た時0か0以外か」という考え方ですが、 .NETなら「Boolean型のTrueかFalseか」という考え方になるので、 上記のコードは型を意識してないという印象になります。 #逆に、内部でビット列としてどんな形になってるかは全然意識してません… | ||||||||||||||||
|
投稿日時: 2006-02-18 15:25
オブジェクト比較演算子でない、通常の比較判定の場合は、
前否定の Not か、後否定の False かで、もう少し分かれそうですね。 C 出身者は Not を使う方が多いでしょうけど... 良い例としては、IsPostBack プロパティでの判定かな? VB ならではネタだと、あとは配列の () の位置とか。
私は C にならって前者ですね。 インスタンス生成時の () とか。
これも C (C#) にならって前者が好きですね。 コードの再フォーマットのチェックは外しています。 VB ならではネタは多いですね... (;_ _) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||
|
投稿日時: 2006-02-19 01:24
私は「変数(名)は配列である」という意味から後者が第一印象としてはよい感じです。。。
汗かく必要はないぞぉ〜! |