Ä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.