首页 > 解决方案 > 如何将此表达式转换为 LINQ

问题描述

嗨,我有这个FilterAlerts函数,我认为可以使用 LINQ 来实现。我对 C# 相当陌生,需要帮助转换它。最后是否有更好的方法将错误分配给表达式?

 new public BusinessProfileStateModel Create(BusinessProfileViewModel profileViewModel)
    {
        var businessProfileState = base.Create(profileViewModel);
        if (profileViewModel != null)
        {
            businessProfileState.DialogLocations = profileViewModel.DialogLocations;
            businessProfileState.IsCommunityMember = profileViewModel.IsCommunityMember;
            businessProfileState.IsLocalReport = profileViewModel.IsLocalReport;
            businessProfileState.IsMultiLocation = profileViewModel.IsMultiLocation;
        }
        return FilterAlerts(businessProfileState);
    }
    private BusinessProfileStateModel FilterAlerts(BusinessProfileStateModel businessProfileStateModel)
    {
        var errors = new List<BPAlert>();
        foreach (BPAlert alert in businessProfileStateModel.Display.Alerts.AllAlerts)
        {
            if (AlertFinderUtil.IsValidAlertTypeId(alert))
            {
                errors.Add(alert);
            }
        }
        businessProfileStateModel.Display.Alerts.AllAlerts = errors;
        return businessProfileStateModel;
    }
}

标签: c#asp.net.netentity-frameworklinq

解决方案


你可以试试这个。

businessProfileStateModel.Display.Alerts.AllAlerts = 
businessProfileState.Display.Alerts.AllAlerts.Where(alert => AlertFinderUtil.IsValidAlertTypeId(alert)).ToList();

希望能帮助到你!


推荐阅读