【发布时间】:2012-12-30 18:55:15
【问题描述】:
我有这个简单的方法:
#region Fields
private Collection<Address> _addresses;
#endregion
#region Public methods
public Address DeliveryAddress()
{
if (_addresses == null)
if (this.Id > 0)
_addresses = Core.Data.Addresses.GetClient(this.Id);
return _addresses.SingleOrDefault(x => x.TypeId == AddressType.Delivery);
}
public Address InvoiceAddress()
{
if (_addresses == null)
if (this.Id > 0)
_addresses = Core.Data.Addresses.GetClient(this.Id);
return _addresses.SingleOrDefault(x => x.TypeId == AddressType.Invoice);
}
#endregion
如您所见,我试图为DeliveryAddress 返回一个结果,为InvoiceAddress 返回一个结果。我的问题是,如果SingleOrDefault 返回null,我希望链接表达式创建Address() 的新实例。
我对 linq 真的很陌生,所以我不确定 SingleOrDefault 是否是我应该使用的正确表达式。
【问题讨论】:
-
您可能想查看
.Any()函数。