using System.Collections.Generic;
using static System.Console;
KeyValuePair<Func<decimal, bool>, string>[] pares = new[]
new KeyValuePair<Func<decimal, bool>, string>(valor => valor > 5, "Maior que 5"),
new KeyValuePair<Func<decimal, bool>, string>(valor => valor > 0 && valor < 5, "Maior que 0 e menor que 5"),
new KeyValuePair<Func<decimal, bool>, string>(valor => valor > 0, "Número positivo")
static string ValidarTotalAgrupado(decimal valor, params KeyValuePair<Func<decimal, bool>, string>[] pares)
var ret = pares.Where(p => p.Key(valor))
.Aggregate((a, b) => $"{a}, {b}");
static string ValidarTotal(decimal valor, params KeyValuePair<Func<decimal, bool>, string>[] pares)
foreach(var item in pares)
foreach(var teste in testes)
var res = ValidarTotal(teste.Valor, pares);
var resAgrupado = ValidarTotalAgrupado(teste.Valor, pares);
WriteLine($"Valor: {teste.Valor:n2}\nResultado: {res}\nAgrupado: {resAgrupado}\n");