Hallo zusammen
Ich programmiere ganz neu mit C# (sozusagen noch ein C# - DAU 😉.
Um C# kennen zu lernen habe ich als kleines Uebungsstück die Nachbildung
meines Taschenrechners angefangen (alter HP67).
Mit den Grundrechenarten + - / * funktioniert alles bestens, doch nun habe
ich ein Problem mit dem Potenzieren zum Beispiel zahl hoch exponent (y^x).
Ich habe weder in der Hilfe noch im Forum eine vernünftige Lösung gefunden.
Wie kann ich in C# mit Fliesskomma Zahlen hochrechnen?
Folgendes sollte möglich sein; z.B. 2 hoch 0.5 (=Wurzel von 2).
Habe ich die falsche Sprache für diese Aufgabe gewählt und müsste diese eher
in VisualBasic lösen, oder gibt es direkte Befehle für höhere Operatoren
wie potenzieren und weitere?
Für Hilfe bin ich dankbar.
Gruss René
n.B. mein erster Forumbeitrag, hoffe alles richtig gemacht.
Hallo René1,
=Wurzel von 2
für diesen Spezialfall gibt es zusätzlich Math.Sqrt
herbivore
Hallo x86fanboy (und all die andern die geantwortet haben)
Besten Dank für die schnellen Profi Antworten und die Hilfe.
Als erstes bin ich mal beruhigt, dass es Möglichkeiten gibt auch
komplexere, mathematische Programme in C# zu schreiben.
Soviel habe ich verstanden:
Math.Pow() ist ein Teil der Math-Klasse, welche auch noch viele
andere Mathematische Funktionen anbietet.
Nun noch eine weitere Frage in die Profirunde:
Offenbar kennt mein C# die Math-Klasse nicht. Ich besitze die
Visual C# 2005 Express Edition (beigelegte CD vom letzten c't).
Kann die Math-Klasse heruntergeladen und zugefügt werden?
Oder verstehe ich da etwas falsch?
Bitte also nochmals um Hilfe.
Gruss René
Hallo René1,
die Math-Klasse liegt im Namespace System. Dieser sollte standardmäßig eingebunden sein (und auch eine Referenz auf die Assemby, die die Klasse Math enthält, sollte standardmäßig vorhanden sein).
Wenn nicht schreib an den Anfang deiner Datei:
using System;
herbiviore
Hallo herbiviore
Auch auf die Gefahr hin, dass ich nerve:
In der Hilfe zu deinem Math.Sqrt, welches ich ausprobieren wollte, steht unter
anderem;
Gibt die Quadratwurzel einer angegebenen Zahl zurück.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Mein C# kennt bei der Eingabe zwar Math, nach dem Punkt aber kein Sqrt.
Zudem finde ich die mscorlib.dll nicht auf meinem Compi. Habe ich etwas
nicht installiert?
Gruss René
Hallo René1,
also der System-Namespace und die mscorlib.dll sind die absoluten Basics. Die sind schon in der .NET Runtime enthalten. Und die hast du hoffentlich installiert, sonst geht gar nichts. Die mscorlib.dll findest du unter D:\WINNT\Microsoft.NET\Framework<versionsnr>\mscorlib.dll wobei die Versionnummer für 2.0 final z.B. v2.0.50727 ist.
Da Visual C# 2005 nur mit 2.0 zusammenarbeitet, musst du natürlich auch die 2.0er Runtime haben. Wenn du nur die 1.1er Runtime hast, reicht das nicht.
herbivore
Hallo herbiviore
Nach einigen Versuchen klappte es nun doch. Eure Hilfe hat mir auf die Sprünge
geholfen. Am richtigen Ort, richtig eingesetzt zeigt sich mein C# nun doch als
kooperativ. Sowohl Math.Sqrt als auch Math.Pow klappt nun. Wie eingangs erwähnt
zähle ich mich halt noch zu den C# Dau's (Dau steht als Abkürzung für Dümmster
anzunehmender User). Ich hoffe das ändert sich bald.
Ich danke nochmals für eure Hilfe
Gruss René
Bei mir funzt die ganze Hilfe in VS Express nicht richtig. Das was installiert wird, ist nur VS-Benutzungs-Kram, der Online-Zugriff funktioniert nicht richtig. Insofern kann ich dein Problem "Studio kennt Math nicht" nachvollziehen. Das betrifft aber wohl nur die Hilfe. Im Code wird es problemlos verarbeitet.
@ René .... http://www.guidetocsharp.de hilft Dir eventuell auch ein wenig weiter.
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden