Int32.Parse vs int.Parse

8

Es ist üblich, C # -Typ-Aliase anstelle von CTS-System zu verwenden. * types ( int anstelle von Int32 und string anstelle von String ). Mir ist jedoch nicht klar, was zu verwenden ist, um in diesem Fall eine statische Methode eines Typs aufzurufen: einen Alias ​​oder einen Systemtyp.

Microsoft scheint keine Richtlinien für die Verwendung von Aliasen anstelle von Systemtypen zu definieren. In MSDN werden Aliase jedoch für Variablen und CTS-Äquivalente für statische Aufrufe verwendet. Zum Beispiel MSDN: Parsing numerischer Zeichenfolgen

%Vor%

StyleCop definiert das Gegenteil in SA1121 - um immer Aliase zu verwenden. Also int.Parse ist ok, Int32.Parse nicht.

Diese Frage ist eine Frage des Stils (meiner Meinung nach). Aber ich verstehe Gründe nicht, CTS-Typ für statische Anrufe zu verwenden.

    
Mike 26.04.2012, 15:07
quelle

3 Antworten

8

Ich persönlich verwende immer volle Klassennamen für statische Methodenaufrufe. Dies unterstreicht die Tatsache, dass es sich in der Tat um Klassen handelt, die Code-Teile anstelle von einfachsten möglichen (primitiven) Daten enthalten, die die Aliase implizieren.

Ich verwende immer Aliase für Variablen.

    
Stilgar 26.04.2012, 15:12
quelle
4

Es gibt absolut keinen technischen Unterschied, nur Programmierstil. Persönlich befürworte ich int.Parse , aber es gibt viele bekannte Experten , die das Gegenteil bevorzugen.

    
Jon 26.04.2012 15:09
quelle
1

Ich empfehle dringend, int.Parse(...) anstelle von int32 zu verwenden. Wenn Sie jemanden imaginieren Lesen Sie Ihren Code auf 64-Bit-Maschine laufen, und es ist wahrscheinlich, dass er nicht bewusst ist, dass int32 und int sind nur Aliase , es wird ihn dazu bringen, eine falsche Annahmen zu tun.

Mit anderen Worten, selbst wenn es aus funktionaler Sicht keinen Unterschied gibt, würde ich zur Vermeidung von Mehrdeutigkeiten im Code (Referenzen zu vermutlich 32-Bit-Code) vorschlagen, int.Parse(..)

zu verwenden     
Tigran 26.04.2012 15:19
quelle

Tags und Links