我有代码
private IEnumerable<ViewType> GetFilteredList(bool isOnlyChecked, bool IsOnlyUnreaded, bool IsOnlyNotEmpty)
{
var emptyItems = GetEmptyItems(Data);
IEnumerable<ViewType> filtered = IsOnlyNotEmpty
? Data
.Where(key => !emptyItems
.Any(inner => (inner as View<InformServiceView, InformServiceBriefInfo>).Source.Id == (key as View<InformServiceView, InformServiceBriefInfo>).Source.Id))
.ToList()
: Data;
filtered = IsOnlyChecked ? GetAllChecked(filtered) : filtered;
filtered = IsOnlyUnreaded ? GetAllUnReaded(filtered) : filtered;
filtered = filtered.Where(FullTextSearch.SearchPredicate<ViewType>(FilterString ?? string.Empty));
return filtered;
}
重构到looong代码行的最佳观察点是什么
IEnumerable<ViewType> filtered = IsOnlyNotEmpty ? Data.Where(key => !emptyItems.Any(inner => (inner as View<InformServiceView, InformServiceBriefInfo>).Source.Id == (key as View<InformServiceView, InformServiceBriefInfo>).Source.Id)).ToList() : Data;