オブジェクト参照変数が であるかどうかを判断する最良の方法は何null
ですか?
以下でしょうか?
MyObject myObjVar = null;
if (myObjVar == null)
{
// do stuff
}
オブジェクト参照変数が であるかどうかを判断する最良の方法は何null
ですか?
以下でしょうか?
MyObject myObjVar = null;
if (myObjVar == null)
{
// do stuff
}
はい、その通りです。任意のコードを実行したい場合は、次のスニペットを使用してください。
MyObject myObjVar;
if (myObjVar == null)
{
// do stuff
}
myObjVar
ところで:あなたのコードは、初期化される前にアクセスされるため、現在のようにはコンパイルされません。
Object.ReferenceEqualsを使用できます
if (Object.ReferenceEquals(null, myObjVar))
{
.......
}
myObjVarがnullの場合、これはtrueを返します。
あなたがやっている方法が最善の方法です
if (myObjVar == null)
{
// do stuff
}
ただし、null合体演算子 ??
を使用してチェックし、何かを割り当てることができます
var obj = myObjVar ?? new MyObject();
あなたはできる:
MyObject myObjVar = MethodThatMayOrMayNotReturnNull();
if (if (Object.ReferenceEquals(null, myObjVar))
{
// do stuff
}
でC# 7.0
使用できますis null
:
MyObject myObjVar = null;
if (myObjVar is null)
{
// do stuff
}