Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
0 von 1 fanden dies hilfreich - Dieses Thema bewerten.

Int32-Struktur

Stellt eine ganze 32-Bit-Zahl mit Vorzeichen dar.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Int32 : IComparable, IFormattable, 
	IConvertible, IComparable<int>, IEquatable<int>

Der Int32-Typ macht die folgenden Member verfügbar.

  Name Beschreibung
Öffentliche Methode Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif CompareTo(Int32) Vergleicht diese Instanz mit einer angegebenen 32-Bit-Ganzzahl mit Vorzeichen und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück.
Öffentliche Methode Unterstützt von XNA Framework CompareTo(Object) Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück.
Öffentliche Methode Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif Equals(Int32) Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Int32-Wert ist.
Öffentliche Methode Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif Equals(Object) Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Überschreibt ValueType.Equals(Object).)
Geschützte Methode Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.)
Öffentliche Methode Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif GetHashCode Gibt den Hashcode für diese Instanz zurück. (Überschreibt ValueType.GetHashCode().)
Öffentliche Methode Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode Unterstützt von XNA Framework GetTypeCode Gibt die TypeCode-Enumeration für den Werttyp Int32 zurück.
Geschützte Methode Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode Statischer Member Unterstützt von XNA Framework Parse(String) Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen.
Öffentliche Methode Statischer Member Unterstützt von XNA Framework Parse(String, NumberStyles) Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen.
Öffentliche Methode Statischer Member Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif Parse(String, IFormatProvider) Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen kulturabhängigen Format in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen.
Öffentliche Methode Statischer Member Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif Parse(String, NumberStyles, IFormatProvider) Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturabhängigen Format in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen.
Öffentliche Methode Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif ToString() Konvertiert den Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung. (Überschreibt ValueType.ToString().)
Öffentliche Methode Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif ToString(IFormatProvider) Konvertiert den numerischen Wert dieser Instanz unter Berücksichtigung der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.
Öffentliche Methode Unterstützt von XNA Framework ToString(String) Konvertiert den numerischen Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung unter Berücksichtigung des angegebenen Formats.
Öffentliche Methode Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif ToString(String, IFormatProvider) Konvertiert den numerischen Wert dieser Instanz unter Verwendung des angegebenen Formats und der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.
Öffentliche Methode Statischer Member TryParse(String, Int32) Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde.
Öffentliche Methode Statischer Member td2s409d.PortableClassLibrary(de-de,VS.100).gif TryParse(String, NumberStyles, IFormatProvider, Int32) Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturabhängigen Format in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde.
Zum Seitenanfang
  Name Beschreibung
Öffentliches Feld Statischer Member Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif MaxValue Stellt den größtmöglichen Wert vom Typ Int32 dar. Dieses Feld ist konstant.
Öffentliches Feld Statischer Member Unterstützt von XNA Framework td2s409d.PortableClassLibrary(de-de,VS.100).gif MinValue Stellt den kleinstmöglichen Wert von Int32 dar. Dieses Feld ist konstant.
Zum Seitenanfang
  Name Beschreibung
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToBoolean Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToBoolean.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToByte Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToByte.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToChar Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToChar.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToDateTime Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToDecimal Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToDecimal.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToDouble Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToDouble.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToInt16 Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToInt16.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToInt32 Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToInt32.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToInt64 Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToInt64.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToSByte Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToSByte.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToSingle Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToSingle.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToType Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToType.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToUInt16 Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToUInt16.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToUInt32 Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToUInt32.
Explizite Schnittstellenimplementierung Private Methode Unterstützt von XNA Framework IConvertible.ToUInt64 Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToUInt64.
Zum Seitenanfang

Int32 ist ein unveränderlicher Werttyp, der ganze Zahlen mit Vorzeichen mit Werten darstellt, die von negativ 2.147.483.648 (durch die Int32.MinValue-Konstante dargestellt) bis positiv 2.147.483.647 (durch die Int32.MaxValue-Konstante dargestellt) reichen. .NET Framework schließt auch einen 32-Bit-Ganzzahlwert-Typ ohne Vorzeichen ein, UInt32, der Werte darstellt, die zwischen 0 und 4,294,967,295 liegen.

Instanziieren eines Int32-Werts

Sie können auf mehrere Weisen einen Int32-Wert instanziieren:

  • Sie können eine Int32-Variable deklarieren und dieser einen ganzzahligen Literalwert zuweisen, der innerhalb des Bereichs des Int32-Datentyps ist. Im folgenden Beispiel werden zwei Int32-Variablen deklariert und ihnen auf diese Weise Werte zugewiesen.

    
    int number1 = 64301;
    int number2 = 25548612;
    
    
    
  • Sie können den Wert eines ganzzahligen Typs zuweisen, dessen Bereich eine Teilmenge des Int32-Typs ist. Dies ist eine Erweiterungskonvertierung, für die kein Umwandlungsoperator in C# bzw. keine Konvertierungsmethode in Visual Basic erforderlich ist.

    
    sbyte value1 = 124;
    short value2 = 1618;
    
    int number1 = value1;
    int number2 = value2;
    
    
    
  • Sie können den Wert eines numerischen Typs zuweisen, dessen Bereich den vom Int32-Typ überschreitet. Dies ist eine Eingrenzungskonvertierung, für die ein Umwandlungsoperator in C# und eine Konvertierungsmethode in Visual Basic erforderlich ist, wenn OptionStrict aktiviert ist. Wenn der numerische Wert ein Single-, Double- oder Decimal-Wert ist, der eine Nachkommastelle einschließt, wird hängt die Behandlung seines Bruchteils vom Compiler ab, der die Konvertierung ausführt. Im folgenden Beispiel werden einschränkenden Konvertierungen ausgeführt, um mehrere numerische Werte Int32-Variablen zuzuweisen.

    
    long lNumber = 163245617;
    try {
       int number1 = (int) lNumber;
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int32.", lNumber);
    }
    
    double dbl2 = 35901.997;
    try {
       int number2 = (int) dbl2;
       Console.WriteLine(number2);
    }   
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int32.", dbl2);
    }
    
    BigInteger bigNumber = 132451;
    try {
       int number3 = (int) bigNumber;
       Console.WriteLine(number3);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int32.", bigNumber);
    }    
    // The example displays the following output:
    //       163245617
    //       35902
    //       132451
    
    
    
  • Sie können eine Methode der Convert-Klasse aufrufen, um einen beliebigen unterstützten Typ in einen Int32-Wert zu konvertieren. Dies ist möglich, da Int32 die IConvertible-Schnittstelle unterstützt. Im folgenden Beispiel wird das Konvertieren eines Arrays von Decimal-Werten in Int32-Werte veranschaulicht.

    
    decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
                        199.55m, 9214.16m, Decimal.MaxValue };
    int result;
    
    foreach (decimal value in values)
    {
       try {
          result = Convert.ToInt32(value);
          Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                            value.GetType().Name, value,
                            result.GetType().Name, result);
       }
       catch (OverflowException) {
          Console.WriteLine("{0} is outside the range of the Int32 type.",
                            value);
       }   
    }                                  
    // The example displays the following output:
    //    -79228162514264337593543950335 is outside the range of the Int32 type.
    //    Converted the Decimal value '-1034.23' to the Int32 value -1034.
    //    Converted the Decimal value '-12' to the Int32 value -12.
    //    Converted the Decimal value '0' to the Int32 value 0.
    //    Converted the Decimal value '147' to the Int32 value 147.
    //    Converted the Decimal value '199.55' to the Int32 value 200.
    //    Converted the Decimal value '9214.16' to the Int32 value 9214.
    //    79228162514264337593543950335 is outside the range of the Int32 type.
    
    
    
  • Sie können die Parse-Methode oder TryParse-Methode aufrufen, um die Zeichenfolgendarstellung eines Int32-Werts in ein Int32 zu konvertieren. Die Zeichenfolge kann entweder Dezimal- oder Hexadezimalziffern enthalten. Im folgenden Beispiel wird der Analysevorgang mit einer dezimalen und einer Hexadezimalzeichenfolge veranschaulicht.

    
    string string1 = "244681";
    try {
       int number1 = Int32.Parse(string1);
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string1);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string1);
    }
    
    string string2 = "F9A3C";
    try {
       int number2 = Int32.Parse(string2,
                                System.Globalization.NumberStyles.HexNumber);
       Console.WriteLine(number2);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string2);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string2);
    }
    // The example displays the following output:
    //       244681
    //       1022524
    
    
    

Ausführen von Operationen mit Int32-Werten

Der Int32-Typ unterstützt mathematische Standardoperationen, wie z. B. Addition, Subtraktion, Division, Multiplikation, Negation und unäre Negation. Wie die anderen ganzzahligen Typen unterstützt der Int32-Typ ebenfalls die bitweisen Operatoren AND, OR, XOR, Schieben nach links und Schieben nach rechts.

Sie können zwei Int32-Werte mithilfe der numerischen Standardoperatoren vergleichen, oder Sie können die CompareTo-Methode oder die Equals-Methode aufrufen.

Stellt einen Int32-Wert als String dar

Der Int32-Typ bietet vollständige Unterstützung für Standard und benutzerdefinierte numerische Formatzeichenfolgen. (Weitere Informationen finden Sie unter Formatierung von Typen, Standardmäßige Zahlenformatzeichenfolgen und Benutzerdefinierte Zahlenformatzeichenfolgen.)

Um einen Int32-Wert als ganzzahlige Zeichenfolge ohne führende Nullen zu formatieren, können Sie die parameterlose ToString()-Methode aufrufen. Mit dem Formatbezeichner "D" können Sie auch eine angegebene Anzahl von führenden Nullen in die Zeichenfolgendarstellung einschließen. Mit dem Formatbezeichner "N" können Sie Gruppentrennzeichen einschließen und die Anzahl der Dezimalstellen angeben, die in der Zeichenfolgendarstellung der Zahl erscheinen. Mit dem Formatspezifizierer "X" können Sie einen Int32-Wert als hexadezimale Zeichenfolge darstellen. Im folgenden Beispiel werden die Elemente in einem Array von Int32-Werten auf diese vier Arten formatiert.


int[] numbers = { -1403, 0, 169, 1483104 };
foreach (int number in numbers) {
   // Display value using default formatting.
   Console.Write("{0,-8}  -->   ", number.ToString());
   // Display value with 3 digits and leading zeros.
   Console.Write("{0,11:D3}", number);
   // Display value with 1 decimal digit.
   Console.Write("{0,13:N1}", number);
   // Display value as hexadecimal.
   Console.Write("{0,12:X2}", number);
   // Display value with eight hexadecimal digits.
   Console.WriteLine("{0,14:X8}", number);
}   
// The example displays the following output:
//    -1403     -->         -1403     -1,403.0    FFFFFA85      FFFFFA85
//    0         -->           000          0.0          00      00000000
//    169       -->           169        169.0          A9      000000A9
//    1483104   -->       1483104  1,483,104.0      16A160      0016A160


Sie können auch einen Int32-Wert als binäre, oktale, dezimale oder hexadezimale Zeichenfolge formatieren, indem Sie die ToString(Int32, Int32)-Methode aufrufen und die Basis als zweiten Parameter der Methode angeben. Im folgenden Beispiel wird diese Methode aufgerufen, um die binäre, oktale und hexadezimale Darstellung eines Arrays von ganzzahligen Werten anzuzeigen.


int[] numbers = { -146, 11043, 2781913 };
Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}", 
                  "Value", "Binary", "Octal", "Hex");
foreach (int number in numbers) {
   Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}", 
                     number, Convert.ToString(number, 2), 
                     Convert.ToString(number, 8), 
                     Convert.ToString(number, 16));
}      
// The example displays the following output:
//       Value                             Binary         Octal          Hex
//        -146   11111111111111111111111101101110   37777777556     ffffff6e
//       11043                     10101100100011         25443         2b23
//     2781913             1010100111001011011001      12471331       2a72d9


Arbeiten mit nicht dezimalen 32-Bit-Ganzzahlwerten

Zusätzlich zum Arbeiten mit einzelnen Ganzzahlen als Dezimalwerte können Sie bitweise Operationen mit Ganzzahlwerten ausführen oder mit den binären oder hexadezimalen Darstellungen von Ganzzahlwerten arbeiten. Int32-Werte werden in 31 Bits dargestellt; dabei wird das 32. Bit als Vorzeichenbit verwendet. Positive Werte werden mit der Vorzeichen-Wert-Darstellung dargestellt. Negative Werte sind in Zweierkomplementdarstellung. Dies muss beachtet werden, wenn Sie bitweise Operationen mit Int32-Werten ausführen, oder wenn Sie mit einzelnen Bits arbeiten. Um eine numerische, boolesche oder Vergleichsoperation für beliebige zwei Nicht-Dezimalwerte auszuführen, müssen beide Werte die gleiche Darstellung verwenden.

.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Unterstützt in:

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle Member dieses Typs sind threadsicher. Member, die scheinbar den Zustand einer Instanz ändern, geben in Wirklichkeit eine neue Instanz zurück, die mit dem neuen Wert initialisiert wurde. Wie bei allen anderen Typen müssen Lese- und Schreibzugriffe auf eine freigegebene Variable, die eine Instanz dieses Typs enthält, durch eine Sperre geschützt werden, um die Threadsicherheit zu gewährleisten.

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ