Amigos familiarizados com JavaScript podem não estar familiarizados com a função Eval (). Podemos usá -lo para implementar a execução do código dinâmico. Eu até escrevi uma página da web que é usada especialmente para calcular expressões aritméticas. A capacidade de cálculo é melhor que a das calculadoras do Google e do Baidu, pelo menos com maior precisão. No entanto, se as quatro operações excederem as quatro operações, a forma da expressão será muito complicada, como o exemplo dado por Baidu:
Log ((5+5)^2) -3+Pi precisa ser escrito como Math.log (Math.pow (5+5,2))*Math.log10e-3+Math.pi a ser usado para cálculos com aval. Não pensei em uma solução ideal para isso. Ok, este não é o tópico principal deste artigo, vamos deixar para lá.
Vi pessoas usarem o seguinte código no parque do blog, pelo menos em termos de formulário de código, é bastante simples:
// csc.exe noname1.cs /r:c:/windows/microsoft.net/framework/v1.1.4322/microsoft.jscript.dll // NOTA: Dois namespaces do microsoft.jscript e microsoft.vsa precisam ser adicionados. classe pública classe1 {estático void main (string [] args) {system.console.writeline ("hello world"); String Expression = "VAR Resultado: int = 0; resultado == 1?/" Sucesso/":/" falhou/""; Microsoft.jscript.vsa.vsaengine ve = microsoft.jscript.vsa.vsaengine.createenGine (); Console.WriteLine (Microsoft.JScript.Eval.JscriptEvaluate (Expression, VE)); }}No entanto, é desagradável que o ambiente de compilação agora dê o seguinte aviso: 'Microsoft.jscript.vsa.vsaEngine' é obsoleto: 'O uso desse tipo não é recomendado porque está sendo depreciado no Visual Studio 2005; Não haverá substituição para esse recurso. Consulte a documentação do ICODecompiler para obter ajuda adicional. ' Obviamente, o código pode ser compilado e executado normalmente.
Abaixo, darei outro método para usar diretamente a função de avaliação do JavaScript. Com a ajuda do componente COM, o caminho de referência é %Systemroot %/system32/msscript.ocx, e publicarei o código completo diretamente.
usando o sistema; usando o System.Collection.Genic; usando o System.Text; usando o System.diagnósticos; namespace scriptprogramming {classe Program {estático void main (String [] args) {string strexpression = "1+2*3"; string strResult = avaliação (strexpression); Console.WriteLine (Strexpression + "=" + strResult); Console.WriteLine ("Pressione qualquer tecla para continuar"); Console.readKey (); } /// <summary> /// Componente com componente com componente Microsoft Script Control /// %Systemroot %/System32/msscript.ocx /// Esta função é usada para executar o código dinamicamente /// </summary> /// <param name = "Expression"> </param> /// <lorts> </retorns> public String avalia tente {msscriptControl.scriptControlClass jScript = novo msScriptControl.scriptControlClass (); jscript.Language = "JScript"; strresult = jscript.eval (expressão) .toString (); } catch (Exceção ex) {Debug.fail (Ex.Message); } retornar strResult; }}}A explicação detalhada acima da execução dinâmica de código (avaliação de JS) é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.