Page 1 of 1

"Eval" funksjon i C#

Posted: 29/01-2015 14:30
by Zahand
Hei. Så dette er mer et programerings-spørsmål enn matematisk. Jeg har i oppgave å lage en kalkulator i C# og lurte på om det var en "eval" funksjon som javascript har. Etter litt googl-ing kom jeg frem til dette:

Code: Select all

 public static double Evaluate(string expression)
        {
            System.Data.DataTable table = new System.Data.DataTable();
            table.Columns.Add("expression", string.Empty.GetType(), expression);
            System.Data.DataRow row = table.NewRow();
            table.Rows.Add(row);
            return double.Parse((string)row["expression"]);
        }
Men jeg skjønner ikke hvordan denne koden funker. (Nettopp begynt med C#) Kunne noen hjelpe meg skjønne denne koden?

Re: "Eval" funksjon i C#

Posted: 29/01-2015 14:43
by Aleks855
Long story short, C# har ikke en ekvivalent funksjon til JavaScript sin eval().

Den kodebiten der bruker bare en tabellfunksjon fra det innebygde APIet til C# for å plotte en graf. Ikke for å regne ut matematiske strenger.

Re: "Eval" funksjon i C#

Posted: 30/01-2015 19:22
by Zahand
hmmm, men den funker for å regne ut strenger. Nå ble jeg bare enda mer forvirret..

Re: "Eval" funksjon i C#

Posted: 31/01-2015 01:09
by Aleks855
Ja, du burde egentlig ikke bruke veldig mye tid på det i min mening.

Du kan heller lage en egen parser som tolker tekststrenger med matematiske regnestykker. Det var en av oppgavene vi fikk på høyskolen.