Tob*_*oby 5 c# constructor types nullable
如果我创建了一个非引用类型的变量,比如说int,nullable,即int?,这是否意味着我需要在赋值之前使用构造函数?
通常,我只是初始化一个非引用类型变量
int foo = 5;
Run Code Online (Sandbox Code Playgroud)
但是,如果我有一个可以为空的非参考数据类型变量是必要的初始化,如下所示,还是我仍然可以使用上面的简单初始化?
int? foo = new int();
foo = 5;
Run Code Online (Sandbox Code Playgroud)
不需要.在分配之前,您不需要创建实例.这int?是一个在赋值时创建的结构.
你的作业foo = 5;实际上是:
foo = new Nullable<int>(5);
Run Code Online (Sandbox Code Playgroud)
这完全由编译器完成.不需要自己做这件事.