Warum benötigt C # kein explizites Casting für Convert Long To Double?

8

Zuerst, Entschuldigung für mein schlechtes Englisch. Ich habe ein Fragment des Codes:

%Vor%

Ausgabe ist:

%Vor%

Ich bekomme keine Fehler beim Kompilieren und Ausführen dieses Codes. Wir haben einen Verlust an Genauigkeit beim Konvertieren von Long zu Double. Warum benötigt C # in diesem Fall kein explizites Casting?

Danke allen.

    
tvolf 13.02.2013, 18:25
quelle

2 Antworten

11

In die Sprache ist eine implizite Umwandlung eingebaut.

Die folgende Tabelle stammt aus der Dokumentation . Aus diesem Grund dürfen Sie die Wert ohne explizite Umwandlung oder Umwandlung:

%Vor%

Und in der Dokumentation heißt es (Hervorhebung von mir):

  

Genauigkeit, aber nicht Größe könnte in den Konvertierungen von verloren gehen   int, uint, long oder ulong zum Floaten und von long oder ulong zum double .

    
John Koerner 13.02.2013 18:34
quelle
-3

Console.WriteLine hat eine Server-überladene Methode, Sie verwenden die überladene Methode von static Console Class

  1. Console.WriteLine(System.Int64 value);
  2. Console.WriteLine(Systen.Double value);

Es hat nichts mit Typ-Casting zu tun (explizit oder implizit)

PaRiMaL RaJ 13.02.2013 18:31
quelle

Tags und Links