C# 方法中参数类型后带问号
有的时候,我们会看到这样的代码,方法的参数类型后面有个?,这是什么意思呢?
其实很简单,我们来看个例子
我们都知道 Vector3 这个类型的参数是不允许 = null 的,这里编译器也提示我们了,看图中红色的波浪线那里。
然后我们稍稍对代码进行一下更改来看看。
对,我们在类型的后面加上一个 ? ,这个时候编译器的错误提示神奇的消失了。
这时你应该看出来了吧,? 的作用就是让我们 Vector3 类型的参数可以 = null。
虽然我们还是不能够给它哪怕是一个 Vector3.zero 这样的初始值,但是我们在调用方法时可以选择不给它赋值了,然后在函数内部判断是否 = null 来给它进行初始化。
对于代码的整齐美观还是很有帮助的。