在 ToLower 之前检查任何 NULL 对象

checking for ANY NULL object before ToLower

提问人:Huma Ali 提问时间:5/26/2019 最后编辑:Huma Ali 更新时间:5/26/2019 访问量:249

问:

我有一个对象,其中的属性可能存在,也可能不存在。

if(response.AddressInformation.AddressResponses.Any(inf => inf.AddressResponse.matchCodeStatus.ToLower().Equals("usps_match")))
{

}

我有两个数组项。第一项为 null,这就是我遇到异常的地方。我怎样才能实现我的目标并避免这个异常?AddressResponsematchCodeStatusobject not set to an instance

我试图在我的 IF 之前放置一个 null 检查,但它没有用

if(response.AddressInformation.AddressResponses.Any(inf => inf.AddressResponse.matchCodeStatus != null)
C# LINQ NullReferenceException 任意

评论

0赞 Ňɏssa Pøngjǣrdenlarp 5/26/2019
您的标题解释了如何 - 在尝试调用实例方法(如 )之前检查。nullToLower()
0赞 Huma Ali 5/26/2019
@NatPongjardenlarp 查看我编辑的帖子
0赞 Ňɏssa Pøngjǣrdenlarp 5/26/2019
什么是 NullReferenceException 的可能重复,我该如何修复它?
2赞 sticky bit 5/26/2019
怎么样?inf => inf.AddressResponse.matchCodeStatus != null && inf.AddressResponse.matchCodeStatus.ToLower().Equals("usps_match")
0赞 Huma Ali 5/26/2019
@stickybit哦,我的错是没有将空检查放在正确的位置。它有效

答:

0赞 Thinh 5/26/2019 #1

从 C# 6 开始,您还可以使用 null 条件运算符:?.

inf => inf.AddressResponse.matchCodeStatus?.ToLower().Equals("usps_match"))