观察:如果 text 为null,则此方法返回True。我期待False。
return text?.IndexOf('A') != -1;
当我使用 ILSpy(或检查 IL)反映上述行时,这是生成的代码:
return text == null || text.IndexOf('A') != -1;
这是我真正需要满足我的期望:
return text != null && text.IndexOf('A') != -1;
问题:有人对为什么 Null 条件代码生成OR表达式有很好的解释吗?