如何检查是否已创建类实例或为空C#

Jam*_*mes 3 c# class

你如何检查是否classinstance已创建/初始化或是null

private MyClass myclass;

if(!check class has been initialised)      //<- What would that check be?
    myclass = new MyClass();
Run Code Online (Sandbox Code Playgroud)

提前致谢

Eri*_* J. 14

只需检查它是否为空

if (myclass == null)
Run Code Online (Sandbox Code Playgroud)

正如你的评论所述,

if (myclass.Equals(null)) 
Run Code Online (Sandbox Code Playgroud)

将无效,因为如果myclass为null,则转换为

if (null.Equals(null))
Run Code Online (Sandbox Code Playgroud)

这导致了NullReferenceException.

顺便说一下,类范围中声明的对象会被编译器自动初始化为null,所以你的行:

private MyClass myclass;
Run Code Online (Sandbox Code Playgroud)

是相同的

private MyClass myclass = null;
Run Code Online (Sandbox Code Playgroud)

在方法中声明的对象被强制分配一些初始值(即使该初始值为null).