C# 有没有更好的方法来缩短这个LINQ语句? var filteredItemNumber=0; 如果(!string.IsNullOrEmpty(searchTerm)) { filteredItemNumber= 这个。请点击查找( r=> r、 ObjectTitle.StartWith(searchTerm)和&r.CreatedDate>=时间段.Start &&r.CreatedDate t.CreatedDate>=timePeriod.Start&&t.CreatedDate searchTerm==null | | r.ObjectTitle.StartsWith(searchTerm)和&r.CreatedDate>=timePeriod.Start &&r.CreatedDate

C# 有没有更好的方法来缩短这个LINQ语句? var filteredItemNumber=0; 如果(!string.IsNullOrEmpty(searchTerm)) { filteredItemNumber= 这个。请点击查找( r=> r、 ObjectTitle.StartWith(searchTerm)和&r.CreatedDate>=时间段.Start &&r.CreatedDate t.CreatedDate>=timePeriod.Start&&t.CreatedDate searchTerm==null | | r.ObjectTitle.StartsWith(searchTerm)和&r.CreatedDate>=timePeriod.Start &&r.CreatedDate,c#,linq,C#,Linq,您不需要返回新列表,您可以使用LINQ进行计数: this._objectsRep.Find(r => searchTerm == null || r.ObjectTitle.StartsWith(searchTerm) && r.CreatedDate >= timePeriod.Start && r.CreatedDate <= timePeriod.End).Count()

您不需要返回新列表,您可以使用LINQ进行计数:

this._objectsRep.Find(r =>
                searchTerm == null || r.ObjectTitle.StartsWith(searchTerm) && r.CreatedDate >= timePeriod.Start
                && r.CreatedDate <= timePeriod.End).Count()
int filteredItemNumber=\u objectsRep.Count(r=>
(string.IsNullOrEmpty(searchTerm)| | r.ObjectTitle.StartsWith(searchTerm))
&&r.CreatedDate>=时间段。开始

&&r.CreatedDate我认为您只需要像这样包装searchTerm条件:

int filteredItemNumber = _objectsRep.Count(r => 
    (string.IsNullOrEmpty(searchTerm) || r.ObjectTitle.StartsWith(searchTerm))
    && r.CreatedDate >= timePeriod.Start 
    && r.CreatedDate <= timePeriod.End);
this.\u objectsRep.Find(r=>
(string.IsNullOrEmpty(searchTerm)| | r.ObjectTitle.StartsWith(searchTerm))
&&r.CreatedDate>=时间段。开始
&&r.CreatedDate
filteredItemNumber=
这个。请点击查找(
r=>
r、 ObjectTitle.StartsWith(searchTerm???)&&r.CreatedDate>=timePeriod.Start

&&r.CreatedDate
List.Find
不是LINQ。
int filteredItemNumber = _objectsRep.Count(r => 
    (string.IsNullOrEmpty(searchTerm) || r.ObjectTitle.StartsWith(searchTerm))
    && r.CreatedDate >= timePeriod.Start 
    && r.CreatedDate <= timePeriod.End);
this._objectsRep.Find(r =>
    (string.IsNullOrEmpty(searchTerm) || r.ObjectTitle.StartsWith(searchTerm)) 
    && r.CreatedDate >= timePeriod.Start
    && r.CreatedDate <= timePeriod.End).Count()
filteredItemNumber =
                this._objectsRep.Find(
                    r =>
                    r.ObjectTitle.StartsWith(searchTerm??"") && r.CreatedDate >= timePeriod.Start
                    && r.CreatedDate <= timePeriod.End).Count();