l--*_*''' -1 .net c# visual-studio c#-5.0 dynamics-crm-2011
如何在此处消除对Any/null的检查?
public List<Incident> GetByServiceActivity(Guid serviceActivityGuid)
{
var result = from s in this._xrmServiceContext.ServiceAppointmentSet
join i in this._xrmServiceContext.IncidentSet on s.RegardingObjectId.Id equals i.Id
select i;
return result.Any() ? result.Distinct().ToList() : new List<Incident>();
}
Run Code Online (Sandbox Code Playgroud)
我希望能够像这样简单地返回1个表达式:
return from s in this._xrmServiceContext.ServiceAppointmentSet
join i in this._xrmServiceContext.IncidentSet on s.RegardingObjectId.Id equals i.Id
select i;
Run Code Online (Sandbox Code Playgroud)
我们如何隐式返回一个空,而不是必须检查.Any()?
返回的所有LINQ方法IEnumerable<T>都不会返回null值.他们总是返回非null IEnumerable或IQueryable.它所代表的序列可能是空的,但它永远不会是null.
至于处理空箱子,没有什么可以处理的.您可以Distinct在非空的序列/查询上尽可能有效地调用空序列/查询,并且您也可以使用空序列或非空序列创建列表ToList.你根本不需要检查任何东西.
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |