Помощник класса конъюнкции и дизъюнкции - PullRequest
2 голосов
/ 17 июля 2011

У меня была идея проявить себя, но я хотел узнать, знает ли кто-нибудь, что он уже существует.
Создание класса 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;
    }

1 Ответ

4 голосов
/ 17 июля 2011

Зачем заново изобретать колесо?

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

См. Enumerable.All, Enumerable.Any для примеров.

...