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.
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 .
Console.WriteLine hat eine Server-überladene Methode, Sie verwenden die überladene Methode von static Console Class
Console.WriteLine(System.Int64 value);
Console.WriteLine(Systen.Double value);