C#语法问题

Moo*_*eef 3 c# syntax enums nullable

我在c#示例中看到了以下代码:

public void AddScreen(GameScreen screen, PlayerIndex? controllingPlayer)
{
    screen.ControllingPlayer = controllingPlayer;
    screen.ScreenManager = this;
    screen.IsExiting = false;
}
Run Code Online (Sandbox Code Playgroud)

而且我不知道?在PlayerIndex之后它正在做什么,它是一个枚举,并且在课堂上它的每一个通知都在?背后.我的问题:它做了什么,它叫什么,你为什么要用它.

我用谷歌搜索了这个,但它没有让我走远,因为我不知道这个编码的名称和谷歌过滤掉搜索查询中的问号

jue*_*n d 9

?PlayerIndex一个NULLABLE类型.

这样,controllingPlayerNULL即使它是一个enum或一个基本类型一样int.