じゃんぬねっと日誌

ネタと雑記と時々プログラミング

目次

Blog 利用状況

ニュース

不況すぎる件。

スポンサードリンク

運営サイト

  • C# と VB.NET の入門サイト

書庫

IsNot 演算子

実は最近になって知ったのですが、
VB2005 (.NET Framework 2.0) から「IsNot 演算子」というものが追加されます。

IsNot 演算子の利用方法
http://www.microsoft.com/japan/msdn/vbasic/migration/tips/IsNot/

「IsNot 演算子を使用することで、よりわかりやすくコードの記述が可能となりました」
とありますが、これは英語の文法的な解釈であって、コードとしては見難いような気がします... (^^;)
というよりは、慣れるまで結構混乱するんじゃないかと思います。

多分、C な人は Not [object] Is Nothing の方がしっくり来るんじゃないかと思います。
いや、私がそう思ってますので... (^ω^;)

投稿日時 : 2005年12月31日 14:00

コメントを追加

# re: IsNot 演算子 2005/12/31 14:07 じゃんぬ

VB って何気にキーワードが多すぎるような気がします。
全部把握してる分には見やすいのですから、
既存ので "事足りるもの" を増やさないで欲しいなぁ。

ByVal, Overloads などの冗長なキーワードはまだ許せるけど...

# re: IsNot 演算子 2005/12/31 16:59 シャノン

VB にキーワードが多すぎるのは同意しますが、俺はこの演算子は歓迎しますよ。VB やってて、いつも「これがあればいいのになぁ」って思ってたから。
VB は C でも C# でもないんですから、キーワードが多いのが宿命ならば、もうどんどん増やしていく方向でw
少ないほうが好きな人は C# を使いましょう。それぞれに個性があっていいじゃないですか。

# re: IsNot 演算子 2005/12/31 17:46 じゃんぬ

シャノンさんのレスの前に白状しようか迷ったのですが、
思いっきり、何かを勘違いしていたことを白状します。

  If obj IsNot Nothing Then

  End If

に対して考えるとこうなるので、

  if (obj != null) {

  }

自然で OK な気もする。
むしろ、こっちだと、

  If Not obj Is Nothing Then

  End If

こうなるから、

  if (! (obj==null)) {

  }

不自然な気がします。

増やす価値のないキーワードだと思っていたので、反対していたのですが、
価値があるキーワードを増やすことは反対しません。

# また、反対のことを考えて結論が逆になってしまった... orz
# このクセ何とかならないのかなぁ。
# MSDN 読んでても反対の意味で理解してることがしばしば...

# re: IsNot 演算子 2005/12/31 18:36 じゃんぬ

>シャノンさん
って、感じでどうでしょう? (w

# re: IsNot 演算子 2005/12/31 19:56 シャノン

あぁなるほどね。VB の Is は C# では == にあたるわけだ。そこまで考えてはいなかったなぁ。
どちらかというと、
> これは英語の文法的な解釈であって
それでいいじゃん、て思ってたから。

#でも C# の型比較文は依然として ! object is type。

タイトル  
名前  
URL
コメント