public static void Main(string[] args)
"(353.05/([AmbientTemperature] + 273.15)) * (Exp(-0.034*(([Altitude] + [HubHeight])/ (([AmbientTemperature] + 273.15)))))",
"(353.05/([Temperature])) * (Exp(-0.034*(([Altitude] + [HubHeight])/ (([Temperature])))))",
"([TemperatureCoefficient]) * (Exp(-0.034*(([Altitude] + [HubHeight])/ (([Temperature])))))",
"[TemperatureCoefficient] * [PressureCoefficient]"
foreach (string expression in expressions)
Expression myExpr = new Expression(expression);
myExpr.Parameters["AmbientTemperature"] = -1;
myExpr.Parameters["Altitude"] = 319;
myExpr.Parameters["HubHeight"] = 80;
myExpr.Parameters["Temperature"] = new Expression("[AmbientTemperature] + 273.15");
myExpr.Parameters["TemperatureCoefficient"] = new Expression("353.05/[Temperature]");
myExpr.Parameters["PressureCoefficient"] = new Expression("Exp(-0.034*(([Altitude]+[HubHeight])/[Temperature]))");
System.Console.WriteLine(expression + " => " + myExpr.Evaluate());
if (myExpr.Parameters.Count > 0)
foreach (var myExprParameter in myExpr.Parameters)
Console.WriteLine("Parameter " + myExprParameter.Key +" => " + myExprParameter.Value.ToString());