无论第一个结果如何,都要评估条件

时间:2014-10-01 09:30:21

标签: c# asp.net

我知道这可能是一个新手问题,但是我需要得到一个关于此设计的建议。

我需要评估一组条件的结果,并且无论先前条件的结果如何,都必须对它们进行评估。这带来了使用常规OR(|)或使用||的短路评估的情况。

以下是我需要做出设计决策的代码,但最终目标是无论如何都能评估或调整。

private bool checkExistingBPNInSession()
{
    var exDirectors = (List<ViewModels.NewContact>)Session["NewDirectorDetails"];
    var exTaxConsultant=(List<ViewModels.NewContact>)Session[Resources.Global.NewTaxConsultantDetails];
    var exTaRep = (List<ViewModels.NewContact>)Session["NewTaxRepresentativeDetails"];
    if (exDirectors.Count() != 0 || exTaRep.Count() != 0 || exTaxConsultant.Count() != 0)
    {
        var QueryCheckDir = (from x in exDirectors where x.BPN==txtBusinessPartnerIdNumber.Text select x.BPN).ToList();
        var QueryCheckTaxConsultant = (from x in exTaxConsultant where x.BPN == txtBusinessPartnerIdNumber.Text select x.BPN).ToList();
        var QueryCheckTaxRep = (from x in exTaRep where x.BPN == txtBusinessPartnerIdNumber.Text select x.BPN).ToList();
        if (QueryCheckDir.Count() > 0 || QueryCheckTaxConsultant.Count() > 0 || QueryCheckTaxRep.Count() > 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    return false;
}

这里必须评估这些部分:

exDirectors.Count() != 0 || exTaRep.Count() != 0 || exTaxConsultant.Count() != 0 这也是

QueryCheckDir.Count() > 0 || QueryCheckTaxConsultant.Count() > 0 || QueryCheckTaxRep.Count() > 0

请,我正在寻求最好的建议。

谢谢你们。

1 个答案:

答案 0 :(得分:0)

如果您想要完成评估,无论如何,您都应该使用

|-operator - 这将评估每个条件,即使最终表达式的结果不会改变(与||-operator相反)

这是simple demo using dotnetfiddle