(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Int32-Struktur

Stellt eine 32-Bit-Ganzzahl 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.

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCompareTo(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 MethodeUnterstützt von XNA FrameworkCompareTo(Object)Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEquals(Int32)Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Int32-Wert ist.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEquals(Object)Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Überschreibt ValueType.Equals(Object).)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeGibt den Hashcode für diese Instanz zurück. (Überschreibt ValueType.GetHashCode().)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetTypeCodeGibt die TypeCode-Enumeration für den Werttyp Int32 zurück.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsParse(String)Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsParse(String, NumberStyles)Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsParse(String, IFormatProvider)Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen kulturabhängigen Format in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsParse(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 MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToString()Konvertiert den Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung. (Überschreibt ValueType.ToString().)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToString(IFormatProvider)Konvertiert den numerischen Wert dieser Instanz unter Berücksichtigung der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToString(String)Konvertiert den numerischen Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung unter Berücksichtigung des angegebenen Formats.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToString(String, IFormatProvider)Konvertiert den numerischen Wert dieser Instanz unter Verwendung des angegebenen Formats und der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryParse(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 MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryParse(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

  NameBeschreibung
Öffentliches FeldStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMaxValueStellt den größtmöglichen Wert von Int32 dar. Dieses Feld ist konstant.
Öffentliches FeldStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMinValueStellt den kleinstmöglichen Wert von Int32 dar. Dieses Feld ist konstant.
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIComparable.CompareToVergleicht die aktuelle Instanz mit einem anderen Objekt vom selben Typ und gibt eine ganze Zahl zurück, die angibt, ob die aktuelle Instanz in der Sortierreihenfolge vor oder nach dem anderen Objekt oder an derselben Position auftritt.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToBooleanInfrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToBoolean.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToByteInfrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToByte.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToCharInfrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToChar.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToDateTimeInfrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToDecimalInfrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToDecimal.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToDoubleInfrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToDouble.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToInt16Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToInt16.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToInt32Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToInt32.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToInt64Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToInt64.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToSByteInfrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToSByte.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToSingleInfrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToSingle.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToTypeInfrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToType.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToUInt16Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToUInt16.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToUInt32Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToUInt32.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToUInt64Infrastruktur. 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 StandardVorgänge wie Addition, Subtraktion, Multiplikation, Division, 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.

Sie können die Member der Math-Klasse aufrufen, um eine hohe Anzahl numerischer Vorgängen, einschließlich das Abrufen des absoluten Wert einer Zahl, das Ableiten des Quotienten und den übrigen Teilen der ganzzahligen Division, Bestimmung des maximal oder des minimalen Wert von zwei ganze Zahlen, das Abrufen des Zeichens einer Zahl und das Runden eine Zahl auszuführen.

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.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.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.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft