"123", "0", "-10", "not a number"
foreach (var testString in testStrings)
bool isValid = ValidateIntegerAndGreaterThanZero(testString);
Console.WriteLine($"'{testString}' é um número inteiro válido e maior que zero");
Console.WriteLine($"'{testString}' não é um número inteiro válido ou não é maior que zero");
static bool ValidateIntegerAndGreaterThanZero(string numberString)
var interpreter = new Interpreter();
interpreter.SetFunction("IsInteger", new Func<string, bool>(IsInteger));
interpreter.SetFunction("IsGreaterThanZero", new Func<int, bool>(IsGreaterThanZero));
string expression = "IsInteger(param) && IsGreaterThanZero(int.Parse(param))";
return interpreter.Eval<bool>(expression, new Parameter("param", numberString));
static bool IsInteger(string numberString)
return int.TryParse(numberString, out _);
static bool IsGreaterThanZero(int number)