.使用 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()将null在xis时返回null。这是由于称为null propogation的 C# 行为。
即使 Substring 是通过 null 条件运算符调用的,并且是一个 null 值?.Substring 似乎可以返回 null,但语言行为符合您的要求。它使调用短路并立即返回 null,避免了否则会导致 NullReferenceException 的编程错误。这是一个称为空传播的概念。
它只是工作。
- 1 回答
- 0 关注
- 177 浏览
添加回答
举报
0/150
提交
取消
