Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
Int32-Struktur
Stellt eine ganze 32-Bit-Zahl mit Vorzeichen dar.
Assembly: mscorlib (in mscorlib.dll)
Der Int32-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
|
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. |
|
CompareTo(Object) | Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück. |
|
Equals(Int32) | Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Int32-Wert ist. |
|
Equals(Object) | Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Überschreibt ValueType.Equals(Object).) |
|
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.) |
|
GetHashCode | Gibt den Hashcode für diese Instanz zurück. (Überschreibt ValueType.GetHashCode().) |
|
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
|
GetTypeCode | Gibt die TypeCode-Enumeration für den Werttyp Int32 zurück. |
|
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
|
Parse(String) | Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. |
|
Parse(String, NumberStyles) | Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. |
|
Parse(String, IFormatProvider) | Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen kulturabhängigen Format in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. |
|
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. |
|
ToString() | Konvertiert den Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung. (Überschreibt ValueType.ToString().) |
|
ToString(IFormatProvider) | Konvertiert den numerischen Wert dieser Instanz unter Berücksichtigung der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung. |
|
ToString(String) | Konvertiert den numerischen Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung unter Berücksichtigung des angegebenen Formats. |
|
ToString(String, IFormatProvider) | Konvertiert den numerischen Wert dieser Instanz unter Verwendung des angegebenen Formats und der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung. |
|
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. |
|
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. |
| Name | Beschreibung | |
|---|---|---|
|
MaxValue | Stellt den größtmöglichen Wert vom Typ Int32 dar. Dieses Feld ist konstant. |
|
MinValue | Stellt den kleinstmöglichen Wert von Int32 dar. Dieses Feld ist konstant. |
| Name | Beschreibung | |
|---|---|---|
|
IConvertible.ToBoolean | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToBoolean. |
|
IConvertible.ToByte | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToByte. |
|
IConvertible.ToChar | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToChar. |
|
IConvertible.ToDateTime | Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
|
IConvertible.ToDecimal | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToDecimal. |
|
IConvertible.ToDouble | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToDouble. |
|
IConvertible.ToInt16 | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToInt16. |
|
IConvertible.ToInt32 | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToInt32. |
|
IConvertible.ToInt64 | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToInt64. |
|
IConvertible.ToSByte | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToSByte. |
|
IConvertible.ToSingle | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToSingle. |
|
IConvertible.ToType | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToType. |
|
IConvertible.ToUInt16 | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToUInt16. |
|
IConvertible.ToUInt32 | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToUInt32. |
|
IConvertible.ToUInt64 | Infrastruktur. Eine Beschreibung dieses Members finden Sie unter IConvertible.ToUInt64. |
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.
-
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.
-
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.
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.