linq 中所有参数的组合

本文关键字:组合 参数 linq | 更新日期: 2023-09-27 18:33:51

我有以下方法,我需要从数据库中获取记录,其中所有/任意一个/任意参数组合等于true

public IQueryable<Entity> GetMethod(bool param1, bool param2, bool param3, bool param4, bool param5, bool param6, bool param7)
{
     //some logic here
}

我想使用嵌套ifswitch的替代方案

如果有人可以帮助我。谢谢

linq 中所有参数的组合

您可能正在寻找这个;

public IQueryable<Entity> GetMethod(params bool[] parameters)
{        
     bool anyIsTrue = parameters.Any(p => p); //.Any() will do, but just for clarification
     bool anyIsFalse = pramaters.Any(p => !p);
     bool allAreTrue = parameters.All(p => p);
     bool allAreFalse = parameters.All(p => !p);
     //rest of logic
}
  • 阅读有关 LINQ 的更多信息
  • 阅读更多关于params
  • 的信息