有的時候,我們會看到這樣的代碼,方法的參數類型後面有個?,這是什麼意思呢?
其實很簡單,我們來看個例子
我們都知道 Vector3 這個類型的參數是不允許 = null 的,這裏編譯器也提示我們了,看圖中紅色的波浪線那裏。
然後我們稍稍對代碼進行一下更改來看看。
對,我們在類型的後面加上一個 ? ,這個時候編譯器的錯誤提示神奇的消失了。
這時你應該看出來了吧,? 的作用就是讓我們 Vector3 類型的參數可以 = null。
雖然我們還是不能夠給它哪怕是一個 Vector3.zero 這樣的初始值,但是我們在調用方法時可以選擇不給它賦值了,然後在函數內部判斷是否 = null 來給它進行初始化。
對於代碼的整齊美觀還是很有幫助的。