为了账号安全,请及时绑定邮箱和手机立即绑定

空条件后跟点运算符 C#

空条件后跟点运算符 C#

C#
慕的地8271018 2022-12-31 11:16:34
.使用 null 条件运算符后使用该运算符是否安全?.?string x = MaybeReturnsNullMethod(); string y = x?.Substring(2).PadRight(1);我认为第 2 行上避免可能的 NullReferenceException 的正确代码是string y = x?.Substring(2)?.PadRight(1);
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

表达式x?.SomeMethod().ToString()nullxis时返回null。这是由于称为null propogation的 C# 行为。

即使 Substring 是通过 null 条件运算符调用的,并且是一个 null 值?.Substring 似乎可以返回 null,但语言行为符合您的要求。它使调用短路并立即返回 null,避免了否则会导致 NullReferenceException 的编程错误。这是一个称为空传播的概念。

它只是工作。


查看完整回答
反对 回复 2022-12-31
  • 1 回答
  • 0 关注
  • 177 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号