Die Bytegröße für Typen ist nicht allzu interessant, wenn Sie sich nur mit einer einzigen Sprache befassen müssen (und für Code, an den Sie sich nicht an mathematische Überläufe erinnern müssen). Der Teil, der interessant wird, ist, wenn Sie eine Brücke zwischen einer Sprache zu einer anderen, einem C # zu einem COM-Objekt usw. schlagen oder eine Bitverschiebung oder Maskierung durchführen und sich selbst (und Ihre Co-Woker bei der Codeüberprüfung) daran erinnern müssen. der Größe der Daten.
In der Praxis verwende ich normalerweise Int32, um mich daran zu erinnern, wie groß sie sind, da ich verwaltetes C ++ (zum Beispiel zur Überbrückung von C #) sowie nicht verwaltetes / natives C ++ schreibe.
Solange Sie wahrscheinlich wissen, ist C # 64-Bit, in nativem C ++ jedoch 32-Bit oder char Unicode / 16-Bit, während es in C ++ 8-Bit ist. Aber woher wissen wir das? Die Antwort ist, weil wir es im Handbuch nachgeschlagen haben und es so gesagt hat.
Mit der Zeit und den Erfahrungen werden Sie typenbewusster, wenn Sie Codes schreiben, um eine Brücke zwischen C # und anderen Sprachen zu schlagen (einige Leser hier denken "Warum sollten Sie?"), Aber meiner Meinung nach ist dies eine bessere Praxis, weil Ich kann mich nicht erinnern, was ich letzte Woche codiert habe (oder ich muss in meinem API-Dokument nicht angeben, dass "dieser Parameter eine 32-Bit-Ganzzahl ist").
In F # (obwohl ich es nie benutzt habe) definieren sie int , int32 und nativeint . Die gleiche Frage sollte sich stellen: "Welches verwende ich?". Wie andere bereits erwähnt haben, sollte es in den meisten Fällen keine Rolle spielen (sollte transparent sein). Aber ich würde int32 und uint32 wählen, nur um die Mehrdeutigkeiten zu beseitigen.
Ich denke, es hängt nur davon ab, welche Anwendungen Sie codieren, wer sie verwendet, welche Codierungspraktiken Sie und Ihr Team befolgen usw., um zu rechtfertigen, wann Int32 verwendet werden soll.