这种模式我已经见过很多次了。
var image = @Model?.Image?.First();
或者
var cId = cust!.Id;
我通常会收到 Visual Studio/ReSharper 的提示以添加 ? 或者 !在代码中但我已经理解了?用于在进入下一部分代码之前检查该对象不为空,但我找不到任何文档或解释来说明这些对象是什么或被称为什么以及为什么它使 VS/RS 提示添加这些对象。我知道我可以声明代码,例如
int? MyInt = 1;
为了使其可以为空,但试图更好地理解 ? 和 !。
有谁有任何参考或解释,以便我可以理解两者之间的关系?
我已经检查了 MSDN,但因为我不知道这种模式在没有找到与此相关的任何内容时被称为什么,或者我是否针对其他内容。