Hallo,
ich suche eine Möglichkeit, einen String auswerten zulassen, dieser besteht aus einer Funktion (x^2). Mein erster Gedanke war wie on PHP oder sonst wo, nach einer Methode z.B. eval() zu suchen, aber so etwas gibt es unter C# meines Wissens nicht, da es durch die Kompilierung nicht möglich ist.
Deshalb suche ich jetzt nach einer Lösung die auch von NET.CF unterstützt wird. Am besten wäre eine freie Lösung, also keinen fertigen Parser.
Erste Versuche habe ich mit diesem Beispiel erzielt, etwas langsam und was sehr Wichtig für mich ist, die Kompatibilität mit NET.CF die aber nicht vorhanden ist. Leider gibt es keinen Verweis bei Windows Mobile Projekten und so bin ich auf der Suche, nach einer Ressourcen armen Möglichkeit Mathe Funktionen um zu rechnen.
C#-Quelltext
1: 2: 3: 4: 5: 6:
| public static double Evaluate(string expression) { if (String.IsNullOrEmpty(expression)) throw new ArgumentNullException("expression");
return Convert.ToDouble(Microsoft.JScript.Eval.JScriptEvaluate(expression, Microsoft.JScript.Vsa.VsaEngine.CreateEngine())); } |