Entwickler-Ecke
C# - Die Sprache - Problem bei Konvertierung. Was mache ich falsch?
Help_Me - Mi 28.04.10 11:16
Titel: Problem bei Konvertierung. Was mache ich falsch?
Hallo!
Mich wundert es, dass wenn ich beim unteren Code die Konvertierung weg lasse, ich eine Meldung bekomme,
dass "object nicht in double konvertiert werden kann". Dabei wird doch davor geprüft, ob es sich um
ein double handelt.
C#-Quelltext
1: 2: 3: 4:
| if (obj is double) { aktuellesDatum[j] = DateTime.FromOADate(Convert.ToDouble(obj)); } |
Wie müsste den der Code ohne Konvertierung richtig lauten? Ich dachte ja
obj as double
aber das funktioniert auch nicht.
Grüße
danielf - Mi 28.04.10 11:24
Leider verbirgst du von welchem Datentyp obj ist. Da es obj heißt vermute ich mal es ist ein object.
Wenn du die Abfrage auf is double machst weißt du zwar, dass es ein double ist.. der Kompilier aber nicht. Deshalb musst du den cast (Convert) machen.
As macht im Prinzip auch ein cast nur, dass es bei einem falschen Datentyp keine Fehlermeldung wirft, sondern den Typ null zurück gibt:
C#-Quelltext
1: 2: 3: 4: 5: 6:
| double objAsDouble = obj as double;
if (objAsDouble != null) { aktuellesDatum[j] = DateTIme.FromOADate(objAsDouble); } |
bzw.
C#-Quelltext
1: 2: 3: 4:
| if (obj is double) { aktuellesDatum[j] = DateTime.FromOADate((double) obj); } |
Gruß
Help_Me - Mi 28.04.10 12:04
Super...vielen Dank!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!