写一个Switch案例

Kit*_*ttu 3 c# linq switch-statement

任何人都可以建议我,有没有更好的方法来编写下面的代码使用Swich案例或任何(谢谢你们在这里提出宝贵的建议我在Linq查询中使用它,我观察到一些修改,它包含不同的产品名称)

    from p in l_list
    where ((LicenceType == "Full" && SystemType == "Single") && p.ProductName != "Full DoubleProduct ")
       || ((LicenceType == "Full" && SystemType == "Multiple") && p.ProductName != "Full SingleProduct")
       || ((LicenceType == "Partial" && SystemType == "Single") && p.ProductName != "Locked DoubleProduct") 
       || ((LicenceType == "Partial" && SystemSize == "Multiple") && p.ProductName != "Locked SingleProduct")
       || ((LicenceType == "Locked" && SystemSize == "Single") && p.ProductName != "Locked DoubleProduct") 
       || ((LicenceType == "Locked" && SystemType == "Multiple") && p.ProductName != "Locked SingleProduct")
Run Code Online (Sandbox Code Playgroud)

Jon*_*Jon 6

这个可怕的布尔条件描述了数据对象子集之间共享的一些共同质量.确定质量并给它一个描述性的名称.

然后,通过数据对象上的属性公开该数量的值,或者编写执行相同操作的扩展方法.最后,使用此访问器替换现有条件.

例如,如果质量名称是"友好",那么您可以这样做:

where model.IsFriendly // property
Run Code Online (Sandbox Code Playgroud)

或这个:

where model.IsFriendly() // extension method BusinessRules.IsFriendly(Model m)
Run Code Online (Sandbox Code Playgroud)