Laden...

Unterschied bei Umwandlung des Datentyps erklären?

Letzter Beitrag vor 12 Jahren 4 Posts 742 Views
Thema geschlossen
Unterschied bei Umwandlung des Datentyps erklären?

Hallo,

beim Umwandeln eines Datentyps innerhalb eines Converters (WPF) funktionieren die Zeilen nicht:

string fert = value as String;
double var = Convert.ToDouble(fert);

Was innerhalb des Converters funktioniert ist:

int state;
bool numeric = Int32.TryParse(value as string, out state);

Soweit so gut. Warum aber funktioniert die erste Lösung nicht, was genau macht die zweite Lösung anders? Würde es gern verstehen. Vielen Dank.

Hallo,

in der ersten Variante kann es zu einer Exception kommen wenn im String nicht ein gültiger Double ist.
Im zweite Fall hast du das Try-parse verwendet. Damit kommt es zu keiner Exception, denn er gibt dir den Status über den Return Value zurück.

Was verstehst du eigentlich unter "funktioniert nicht"?

Gruß
Michael

"funktioniert nicht" - Fehlermeldung beim Erstellen.

Der Rückgabewert war es, der ist notwendig innerhalb des Converters - Danke.

Hallo Hans_Rakete,

Fehlermeldung beim Erstellen.

bitte immer die genauen Fehlermeldung schon im Startpost mit angeben. Sollte das vergessen werden, dann bitte wenigstens bei der ersten Nachfrage. Solche wichtige Informationen sollte man nun wirklich nicht aus der Nase ziehen müssen. Siehe [Hinweis] Wie poste ich richtig? Punkt 5.

Ansonsten ist in deinem Beispiel nicht nur Try oder nicht Try ein Unterschied, sondern auch Double oder Int32. Natürlich kann es sein, dass ein String in einem Format vorliegt, in der er sich in das eine, aber nicht in das andere konvertieren lässt. Wenn nicht sicher ist, dass der String im richtigen Format vorliegt, immer die Try-Variante benutzen.

Davon abgesehen fallen so einfache Konvertierungen unter [Hinweis] Wie poste ich richtig? Punkt 1.1.1.

herbivore

Thema geschlossen