Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Windows 7: Datentypen vergleichen und bool wert erhalten

Hallo,

Ich programier gerade in C# und stoße dabei auf folgendes Problem. Ich möchte in einer If Verzweigung einen String testen, ob er ein typ double sein kann. Deswegen stellte ich mir folgende Frage

Ist es möglich datentypen miteinander zu vergleichen und dabei einen bool wert erhalten wie z.B. nach folgendem Prinzip:

string sTest;

if (sTest != double)
{
    Anweisung...
}

else
{
    Anweisung...
}

...

Danke DJ Moth


Mein Computer-System:
   
Mein PC ist etwa 0-2 Jahre alt.


Antworten zu Windows 7: Datentypen vergleichen und bool wert erhalten:

Aua... dein Compiler sollte dir die Frage beantworten und dir den Code links und rechts um die Ohren hauen. Mehrfach.

Der "Vergleich" mehrere Typen auf die Art ist nicht möglich. Vorallem nicht string Objekt (eine Zeichenkette bzw. ein Objekt das eine Zeichenkette beinhaltet) mit dem Schlüßelwort double.

Wenn du einen string der als Zeichenkette eine Zahl beinhaltet mit einer anderen Zahl vergleichen willst dann nutz die mitgelieferten Convert Funktionen.
Das was du da ... nicht machst sondern versuchst ist schlichtweg ** Netiquette! **.

Du kannst nur "ähnliche" Datentypen vergleichen. Zahlen mit Zahlen, Zeichenketten mit Zeichenketten sollte auch gehn, aber dafür gibts fgw. auch Funktionen, als Ergebnis eines Vergleichs gibt's immer einen boolean zurück. (Ein Vergleich kann nur wahr oder falsch sein unabhängig der verglichenen Daten)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Habs hinbekommen mit TryParse. Haste davon noch nie etwas gehört gehabt? Weil da so davon überzeugt "warst".

Greez

Ähm, nur um dich richtig zu verstehen, du willst mir grad sagen "hey, ich hab das getan, was du mir gesagt hast" und mir das als meinen Fehler unter die Nase reiben?

Informier dich über das was du tust, bevor du versuchst andere als unwissend hinzustellen.

a) double ist nach wie vor ein schlüßelwort, der vergleich zeichenkette mit double ist nach wie vor nicht möglich.

b) "Parse" sollte dir bereits den hinweis darauf liefern, was dort geschrieht: Es wird etwas geparsed. In dem Fall hast du vermutlich eher folgendes Konstrukt - und ich wette dein Quelltext gibt mir recht:
 double number;
 double number2 = 123.45;
 Double.TryParse(value, out number);
 if(number != number2){}

Du verglechst also 2 gleiche Typen miteinander, big deal, das geht. Und vorallem nicht mit dem Schlüßelwort. Aber ja, du hast recht, ich hatte völlig unrecht.

c)
Nach wie vor lassen sich Zahlen mit Zahlen vergleichen, Wahrheitswerte mit Wahrheitswerten, ... aber nicht Äpfel mit Bananen.

d) Oder: du hast folgendes Double.TryParse(sZeichenkette, out doubleWert);
das liefert allerdings nur die aussage ob er es Parsen konnte, der Inhalt IST und BLEIBT nach wie vor eine Zeichenkette und kein double.  "123" "ist" bspw. so double wie "123.45"
Kurzform: Dein Compiler hats dir um die Ohren gehaun, du hast genau das getan, was ich dir erklärt hab, was möglich sei, du verstehst nicht was du tust und kommst so auf die Idee ich hätte mich geirrt. Fail mein Freund.  

« Letzte Änderung: 04.11.10, 18:59:21 von Klischeepunk »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Habs hinbekommen mit TryParse. Haste davon noch nie etwas gehört gehabt? Weil da so davon überzeugt "warst".

Greez

Du solltest Komiker oder Troll werden... ich musste tatsächlich lachen, als mir dein "Problem" gezeigt wurde. Klischeepunk hat dir das tatsächlich umfangreich und korrekt erklärt, also nimm dir das zu Herzen und lass die spitzfindigen Bemerkungen im Glashaus.
...ich musste tatsächlich lachen, als mir dein "Problem" gezeigt wurde.
/signed

 

« Probleme in CJAVA Eclipse Hilfe »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Generations-Prinzip
Das Generations-Prinzip wird auch als das "Opa-Vater-Sohn-Prinzip" bezeichnet. Dieses Rotationsschema zur Speicherung von Daten ist eine überschreibende Datensicheru...

Motherboard
Siehe Mainboard. ...

Compiler
Als Compiler bezeichnet man ein Programm zum Übersetzen der Quellprogramme einer bestimmten Programmiersprache in ausführbare Dateien, also in die Maschinenspra...