【发布时间】:2017-08-02 20:34:11
【问题描述】:
c在 C# 中有一个空条件运算符 ?.(有时称为 Elvis 运算符),如下所示:
var name = project?.customer?.name;
如果project 或customer 为空,则不会失败,而是返回null。
在 VB.NET 中是否有等价物?
请注意,我不是在寻找 If(b, x, y),而是在寻找 ?. 的替代品。
【问题讨论】:
-
我很惊讶我在搜索时没有找到任何答案并且堆栈溢出中没有任何内容。
-
请再次输入您的 C# 示例,不要出现拼写错误。很难准确说出您的问题是什么(我数了 2 个拼写错误——除了晦涩的“猫王”命名)。
-
@DaveDoknjas 公平地说,“猫王运营商”是运营商还没有正式名称时的常用名称。
-
@DaveDoknjas 是的,在其他语言中,“Elvis 运算符”指的是
?:,但 C# 从来没有?:。当C#获得?.时,非官方使用了同名。