提问人:Gabriele Troviso 提问时间:9/20/2023 最后编辑:Karl KnechtelGabriele Troviso 更新时间:9/21/2023 访问量:110
类成员的定义中的“?”是什么意思?[复制]
What does a "?" mean in the definition of a class member? [duplicate]
问:
我熟悉使用“?”作为检查访问运算符。但是,我不明白它是如何在类成员定义中使用的。例如,在此定义中:
private Socket? newSocket;
问号表示什么?
答:
1赞
papafe
9/20/2023
#1
这取决于变量的类型(如果它是引用类型还是值类型),但通常这意味着变量可以为 null。Socket
如果它是引用类型(例如类),并且启用了可为 null 的上下文,那么它只是编译器的“指示”,因为即使您将引用类型指示为不可为 null,它们也可以为 null。您可以在官方文档中找到有关此内容的更多信息。
如果它是值类型(如结构体),则意味着变量可以为 null。如果没有问号,则不可能为其分配 null。
评论
Socket