C#如何管理未初始化的类?

Mat*_*tte 0 c# unity-game-engine

我在Unity中使用C#,我需要知道C#如何管理类,以便知道我是否需要在期间或之后设置所有值new以避免无效读取或者我是否可以保留它们.

在这个例子中,我得到以下输出:

class Test {
  public int test;
}
Test buffer = new Test;
Debug.Log(buffer.test);
Run Code Online (Sandbox Code Playgroud)

0
UnityEngine.Debug:Log(Object)

这是否意味着变量类型都具有默认值,或者在实例化类时我应该更加小心?

SLa*_*aks 5

.Net框架将所有字段初始化为其默认值(0null).

  • 它将对象设置为null,将基元设置为其默认值.(bool = false,数值类型(int,float ...)= 0). (4认同)