我很清楚三元组。只是想知道以下代码行中“ l”旁边的问号是什么:
public static string GetRegion()
{
var ipAddress = GetIPAddress();
if (string.IsNullOrEmpty(ipAddress))
{
return "";
}
try
{
var ls = new LookupService(HttpContext.Current.Server.MapPath("~") + "/GeoIP/GeoIPCity.dat", LookupService.GEOIP_STANDARD);
var l = ls.getLocation(ipAddress);
return l?.region ?? "";
}
catch (Exception)
{
return "";
}
}
l?.region是什么? “”是什么意思?
答案 0 :(得分:1)
这是 Null传播和 Null Coalesce 运算符的混合,因此l?.region ?? ""
region
仅在l
为不为null,并且如果l.region
的值为null
,则返回默认值为空字符串