using System.Diagnostics;
using System.Collections.Generic;
public static void Main()
var dic = new Dictionary<string,object>
{"distance2", "Regular - grafit"},
var wizardText = @"Hej Här är ditt resultat
Din spelare: {gender} som är {length} cm, högerspelare med {hcp} HCP, slår en J7 {distance} meter som gillar Varumärke {brands}
Här är dina rekommenderade specifikationer på klubbor
Skaftlängd (?): {IF(AND(gender='female', length>160), 'På grund av din längd rekommenderar vi en custom fitting ', 'Standard dam')}
{IF(AND(gender='female', length>160), 'På grund av din längd rekommenderar vi en custom fitting', '')}
{IF(AND(gender='female', length<160), 'På grund av din längd rekommenderar vi en custom fitting', '')}
{IF(gender='female', IF(length>160, 'På grund av din längd rekommenderar vi en custom fitting', 'Standard dam'), 'male')}
Console.WriteLine(EvaulateExpression(wizardText, dic));
public static string EvaulateExpression(string input, Dictionary<string, object> dictionary)
var index1 = input.IndexOf('{');
var index2 = input.IndexOf('}');
var text = input.Substring(index1+1,index2-index1-1);
Expression expression = new Expression(text);
foreach(var keyVaule in dictionary)
expression.Bind(keyVaule.Key, keyVaule.Value);
string answer = expression.Eval<String>();
input = input.Replace("{"+text+"}",answer);