我有一个调用 WCF 服务 API(GetActiveDevicesByDetailId) 的简单代码块,它提供单个数组作为响应。因为,我没有在客户端定义正确的类对象来接收响应,我正在使用var数据类型并获取响应的属性/成员(CustomerID)。API 返回一个我们用于客户端处理的实体数组。因为,API 仅返回单个元素,正在获取如下所述的值。此外,为了处理 null(理想情况下它不应该返回 null),我正在检查并返回 null(如果是)。
当返回 null 时,这条语句vm[0].CustomerId.HasValue 是否 返回异常?我检查了这段代码是否有简单的可空整数。但是这个语句对 Arrays 有什么作用呢?
var vm = client.GetActiveDevicesByDetailId(DetailID);
if (vm[0].CustomerId.HasValue)
return vm[0].CustomerId.Value;
else
return null;
通过使用 GetValueorDefault() 解决。
var vm = client.GetActiveDevicesByDetailId(DetailID);
if (vm[0] != null)
return vm[0].CustomerId.GetValueOrDefault();
else
return null;
对此有何看法?