25 Stimmen

C# Float vs. VB.net Single - Namin' complainin'

Warum heißt es Single in VB.net? Ich bin mir sicher, dass es einen guten Grund gibt, aber für einen nicht formal ausgebildeten Programmierer wie mich scheint es nicht intuitiv zu sein.

35voto

Xiaofu Punkte 14822

BPAndrew's Frage scheint wirklich "warum float in C# und Single in VB.NET", die niemand tatsächlich beantwortet, so hier ist meine 2p...

Die Verwendung von "float" in C# scheint ein Rückgriff auf das C/C++-Erbe zu sein. "float" entspricht in C# immer noch dem Typ System.Single, so dass das Schlüsselwort nur der Einfachheit halber existiert. Sie könnten die Variable in C# genauso gut als "Single" deklarieren, wie Sie es in VB.NET tun.

(Und wie oben erwähnt, ist die Bezeichnung Single/Double eigentlich sinnvoller, da es sich um Gleitkommazahlen mit einfacher/doppelter Genauigkeit handelt).

19voto

Jon Skeet Punkte 1325502

Wie bereits erwähnt, entsprechen sie den binären Gleitkommatypen "einfache" und "doppelte" Präzision. Persönlich denke ich, dass es ein Seitwärtsschritt war, einfach den Namen System.Single y System.Double - warum nicht System.Float32 y System.Float64 mit den Ganzzahltypen übereinstimmen?

8voto

LeppyR64 Punkte 5010

Der Grund dafür ist, dass sowohl single als auch double Fließkommazahlen sind.

single ist die Abkürzung für Single Precision Floating Point Number (32 Bits)
double ist die Abkürzung für Double Precision Floating Point Number (64 Bits)

Eine Fließkommazahl als float zu bezeichnen, ist daher zweideutig.

http://en.wikipedia.org/wiki/Single_precision
http://en.wikipedia.org/wiki/Double_precision

2voto

chakrit Punkte 59834

Ich denke, es ist ein shorthand para "Single-precision" Double ist " Double-precision"

Während C-style int y float bezog sich wahrscheinlich auf "integer" y "floating point"

1voto

max Punkte 706

Ich möchte meine Hypothese für die Namenskonvention hinzufügen.

In der C/C++-Welt, aus der Java und dann C# hervorgegangen sind, konnten int/long und float/double je nach Architektur (32-Bit oder 64-Bit) variieren.

In portablen VM-Sprachen wie Java und C# ändern sich diese Typen NICHT, und daher ist die Namenskonvention könnte das widerspiegeln. Oder es könnte einfach das sein, was für die letzte Generation von Programmierern am bequemsten ist. Oder wir könnten Aliasnamen für alles schaffen und jeden tun lassen, was er will!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X