c # - ist SHORT Datentyp oder es ist immer noch INT?

8

Ich mache eine Klassifizierung und ich bin mir nicht sicher:

INT ist ein primitiver Datentyp mit dem Schlüsselwort "int"

Aber ich kann Int16, Int32 oder Int64 verwenden - ich weiß, dass C # eigene Namen für sie hat. Aber sind diese Datentypen auch oder es ist immer noch INT? Und vor allem, können wir sagen, "kurz" ist ein Datentyp oder INT16 ist ein Datentyp? Danke:)

    
Monty 07.08.2010, 16:34
quelle

4 Antworten

21

In C # sind die folgenden Dinge immer wahr:

  • short == Int16
  • ushort == UInt16
  • int == Int32
  • uint == UInt32
  • long == Int64
  • ulong == UInt64

Beide Versionen sind Datentypen. Alle oben genannten sind Ganzzahlen verschiedener Länge und Signiertheit.

Der Hauptunterschied zwischen den beiden Versionen (soweit ich weiß) ist, welche Farbe sie wie in Visual Studio hervorgehoben haben.

    
Mike Caron 07.08.2010, 16:38
quelle
3

short ist ein Datentyp, der 16-Bit-Ganzzahlen darstellt (1 Reihenfolge unter int , also 32-Bit).

Int16 ist in der Tat auch ein Datentyp und ist gleichbedeutend mit short . Das heißt,

%Vor%

gibt auch short zurück, wie:

%Vor%

Gleiches gilt für Int32 für int und Int64 für long .

    
BoltClock 07.08.2010 16:39
quelle
2

In C # ist int nur ein kürzerer Ausdruck für System.Int32.

In .NET sind selbst die primitiven Datentypen tatsächlich Objekte (abgeleitet von System.Object).

Also ein int in C # = ein Integer in VB.Net = System.Int32.

Es gibt hier ein Diagramm aller .NET-Datentypen: Ссылка

Dies ist Teil des .NET Common Type Systems ermöglicht nahtlose Interoperabilität zwischen .NET-Sprachen.

    
David 07.08.2010 16:39
quelle
0

Was in keiner der anderen Antworten erwähnt wurde, ist der Werttyp System.IntPtr , dessen Bitbreite plattformspezifisch ist; z.B. Bei einem 32-Bit-System ist es 32 Bit breit, während es bei einem 64-Bit-System 64 Bit breit ist.

Davon abgesehen, von all dem, was ich sammeln kann, ist dieser Typ nicht dazu gedacht, tatsächlich anstelle irgendwelcher anderen int -Typen verwendet zu werden; Seine Hauptverwendung liegt wahrscheinlich beim P / Invoke-Verfahren für die zugrunde liegende System-API, wo es normalerweise für das Halten von Zeigern verwendet wird.

    
stakx 07.08.2010 17:06
quelle

Tags und Links