41

ここに VB.NET を使用していて、.NET を使用するのではなく使用することを強く好む、または使用しないことを強く好む人はいNot foo Is Nothingますfoo IsNot Nothingか? もしそうなら、なぜですか?

例えば

If var1 IsNot Nothing Then
...
End If

If Not var1 Is Nothing Then
...
End If

知りたいのはどっちがいいの?
どちらも同じように受け入れられますか?

4

5 に答える 5

48

If Not var1 Is Nothing Then

VB6 からの二日酔いです。以前は IsNot がなかったので、これが変数が not であるかどうかを判断する唯一の方法でしNothingた。VB.NET では冗長なようです。

于 2013-09-20T06:11:10.020 に答える
16

foo IsNot Nothing

次の行は、Microsoft のVisual Basic Coding Conventionsからそのまま引用したものです。

...Is NothingIsNotの代わりにキーワードを使用します。Not

于 2016-03-30T17:55:35.073 に答える
7

私は最初のバリアントを使用します-英語のように読み、2番目のものよりも理解しやすいです。それ以外は同等です。

于 2013-09-20T06:05:14.157 に答える
3

ここで同様の質問を見つけましたVB.NET - IsNothing vs Is Nothing、この質問は徹底的に答えられたと思います。回答の中で、Jack Snipes はhttp://weblogs.asp.net/psteele/410336を特定しました。このブログには、さらに詳しい情報が記載されています。私が好きで使用しているものから

IsNot Nothing

これにより、コードが読みやすく理解しやすくなります。

于 2015-05-03T09:01:52.550 に答える
-1

VB 7.0 の使用

If var1 Is Not Nothing Then

この「VBForums」リンクに従って、「オブジェクトエラーの無効な使用」を生成します。

If var1 IsNot Nothing Then

「コンパイル エラー: 予想される: Then または GoTo」を生成します。

If Not IsNothing(var1) Then

チャンピオンのように働いた

于 2016-06-23T03:44:08.100 に答える