13

オブジェクト参照変数が であるかどうかを判断する最良の方法は何nullですか?

以下でしょうか?

MyObject myObjVar = null;
if (myObjVar == null)
{
    // do stuff
}
4

5 に答える 5

10

はい、その通りです。任意のコードを実行したい場合は、次のスニペットを使用してください。

MyObject myObjVar; 
if (myObjVar == null) 
{ 
    // do stuff 
} 

myObjVarところで:あなたのコードは、初期化される前にアクセスされるため、現在のようにはコンパイルされません。

于 2012-08-17T05:29:10.330 に答える
8

Object.ReferenceEqualsを使用できます

if (Object.ReferenceEquals(null, myObjVar)) 
{
   ....... 
} 

myObjVarがnullの場合、これはtrueを返します。

于 2012-08-17T05:45:38.657 に答える
7

あなたがやっている方法が最善の方法です

if (myObjVar == null)
{
    // do stuff
}

ただし、null合体演算子 ??を使用してチェックし、何かを割り当てることができます

var obj  = myObjVar ?? new MyObject();
于 2012-08-17T05:29:58.333 に答える
3

あなたはできる:

MyObject myObjVar = MethodThatMayOrMayNotReturnNull();
if (if (Object.ReferenceEquals(null, myObjVar)) 
{
    // do stuff
}
于 2012-08-17T05:34:01.200 に答える
0

C# 7.0使用できますis null

MyObject myObjVar = null;
if (myObjVar is null)
{
    // do stuff
}
于 2021-07-14T20:25:59.497 に答える