【问题标题】:Conjunction and disjunction helper class合取和析取帮助类
【发布时间】:2011-10-07 03:53:23
【问题描述】:

我有一个想法要体现,但我想知道是否有人知道它是否已经退出。
创建一个 Helper 类,该类可以获取尽可能多的操作或 bool 表达式,并返回 bool 输出。也许像扩展方法一样做。

if(a==b.Or(a != c).And(IsBool).VerifyAll(numbers));

其实这是个好主意,你说呢?

更新

我的意图是获取布尔项的表达式并将它们连接到一个答案中,例如

 public static bool Conjuntion(params bool[] expressions)
    {
        for (int i = 0; i < expressions.Length; i++)
        {
            if (!expressions[i])
            {
                return false;
            }
        }
        return true;
    }

或者

public static bool Disjuntion(params bool[] expressions)
    {
        for (int i = 0; i < expressions.Length; i++)
        {
            if (!expressions[i])
            {
                return false;
            }
        }
        return true;
    }

【问题讨论】:

  • 什么是abc,它们与numbers 有什么关系?你指的是 lambda 表达式吗?
  • Conjunction()Disjuntion() 方法与您之前的示例有何关系?为什么不直接使用&amp;&amp;s 和||s? VerifyAll() 应该做什么?

标签: c# extension-methods helpers boolean


【解决方案1】:

为什么要重新发明轮子?

if (numbers.All (a => (a == b || a != c) && IsBool (a)))

有关示例,请参阅 Enumerable.AllEnumerable.Any

【讨论】:

  • 对不起,伙计,从来没有打算重新发明轮子只是让它更圆,不知道Enumerable.All 等,但我的目的是让任何布尔表达式不在某种数组中.
  • @guyl,“不在某种数组中”,你在说什么数组?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-29
相关资源
最近更新 更多