當我要評估這個表達式我使用從C#我不uderstand數學結果1 + 2 * 3 * + 4 * 5 = 121
public double CalculateExpression()
{
double result = -1;
var javascriptLangualeType = Type.GetTypeFromCLSID(Guid.Parse("0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC"));
dynamic obj = Activator.CreateInstance(javascriptLangualeType, false);
obj.Language = "javascript";
try
{
result = obj.Eval(Expression);
Result = result.ToString();
}
catch (Exception)
{
Result = "ERROR";
}
return result;
}
這個代碼(內部爲 '*' 和 '+' ):
var expresion = "1+2*3*+4*5";
我希望我得到的例外[R任何其他類型的錯誤,但這個結果是121誰能告訴我這是爲什麼表情識別爲有效?
我試着在C#腳本這種表達,也得到了我121導致
謝謝。
一元加號是一樣的逆元負 – fixmycode
雖然這種表達是實際上,您對許多語言都有效,其中幾乎任何內容都是有效的 - 請參閱着名的[Javascript WAT talk](https://www.destroyallsoftware.com/talks/wat)。 –