"Eval" funksjon i C#

Her kan du stille spørsmål vedrørende matematikken som anvendes i fysikk, kjemi, økonomi osv. Alle som har kunnskapen er velkommen med et svar.

Moderators: Vektormannen, espen180, Aleks855, Solar Plexsus, Gustav, Nebuchadnezzar, Janhaa

Post Reply
Zahand
Cayley
Cayley
Posts: 61
Joined: 26/05-2013 12:59
Location: Grimstad

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?
Last edited by Zahand on 30/01-2015 19:22, edited 1 time in total.
Aleks855
Rasch
Rasch
Posts: 6873
Joined: 19/03-2011 15:19
Location: Trondheim
Contact:

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.
Image
Zahand
Cayley
Cayley
Posts: 61
Joined: 26/05-2013 12:59
Location: Grimstad

hmmm, men den funker for å regne ut strenger. Nå ble jeg bare enda mer forvirret..
Aleks855
Rasch
Rasch
Posts: 6873
Joined: 19/03-2011 15:19
Location: Trondheim
Contact:

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.
Image
Post Reply