Auf Englisch lesen

Freigeben über


Convert.ToUInt32 Methode

Definition

Wandelt einen angegebenen Wert in eine 32-Bit-ganzzahl ohne Vorzeichen um.

Überlädt

ToUInt32(String)

Konvertiert die angegebene Zeichenfolgendarstellung einer Zahl in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen.

ToUInt32(UInt64)

Wandelt den Wert der angegebenen 64-Bit-ganzzahl ohne Vorzeichen in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

ToUInt32(UInt16)

Wandelt den Wert der angegebenen 16-Bit-ganzzahl ohne Vorzeichen in die entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

ToUInt32(UInt32)

Gibt die angegebene 32-Bit-ganzzahl ohne Vorzeichen zurück. Es wird keine tatsächliche Konvertierung ausgeführt.

ToUInt32(DateTime)

Durch Aufrufen dieser Methode wird immer InvalidCastExceptionausgelöst.

ToUInt32(String, IFormatProvider)

Konvertiert die angegebene Zeichenfolgendarstellung einer Zahl in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen.

ToUInt32(String, Int32)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einer angegebenen Basis in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen.

ToUInt32(Single)

Wandelt den Wert der angegebenen Gleitkommazahl mit einfacher Genauigkeit in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

ToUInt32(Object, IFormatProvider)

Konvertiert den Wert des angegebenen Objekts in eine 32-Bit-ganzzahl ohne Vorzeichen unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen.

ToUInt32(SByte)

Wandelt den Wert der angegebenen 8-Bit-ganzzahligen Vorzeichen in die entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

ToUInt32(Char)

Wandelt den Wert des angegebenen Unicode-Zeichens in die entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

ToUInt32(Int64)

Wandelt den Wert der angegebenen 64-Bit-ganzzahligen Vorzeichen in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

ToUInt32(Int32)

Wandelt den Wert der angegebenen 32-Bit-ganzzahligen Vorzeichen in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

ToUInt32(Int16)

Wandelt den Wert der angegebenen 16-Bit-ganzzahligen Vorzeichen in die entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

ToUInt32(Double)

Wandelt den Wert der angegebenen Gleitkommazahl mit doppelter Genauigkeit in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

ToUInt32(Decimal)

Wandelt den Wert der angegebenen Dezimalzahl in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

ToUInt32(Object)

Konvertiert den Wert des angegebenen Objekts in eine 32-Bit-ganzzahl ohne Vorzeichen.

ToUInt32(Byte)

Wandelt den Wert der angegebenen 8-Bit-ganzzahl ohne Vorzeichen in die entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

ToUInt32(Boolean)

Konvertiert den angegebenen booleschen Wert in die entsprechende 32-Bit-ganzzahl ohne Vorzeichen.

ToUInt32(String)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert die angegebene Zeichenfolgendarstellung einer Zahl in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen.

[System.CLSCompliant(false)]
public static uint ToUInt32 (string value);
[System.CLSCompliant(false)]
public static uint ToUInt32 (string? value);

Parameter

value
String

Eine Zeichenfolge, die die zu konvertierende Zahl enthält.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die der Zahl in valueentspricht, oder 0 (Null), wenn valuenullist.

Attribute

Ausnahmen

value besteht nicht aus einem optionalen Vorzeichen gefolgt von einer Sequenz von Ziffern (0 bis 9).

value stellt eine Zahl dar, die kleiner als UInt32.MinValue oder größer als UInt32.MaxValueist.

Beispiele

Im folgenden Beispiel werden die Elemente in einem Zeichenfolgenarray als numerische Zeichenfolgen interpretiert und versucht, sie in nicht signierte ganze Zahlen zu konvertieren.

string[] values = { "One", "1.34e28", "-26.87", "-18", "-6.00",
                    " 0", "137", "1601.9", Int32.MaxValue.ToString() };
uint result;

foreach (string value in values)
{
   try {
      result = Convert.ToUInt32(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("The {0} value '{1}' is outside the range of the UInt32 type.",
                        value.GetType().Name, value);
   }
   catch (FormatException) {
      Console.WriteLine("The {0} value '{1}' is not in a recognizable format.",
                        value.GetType().Name, value);
   }
}
// The example displays the following output:
//    The String value 'One' is not in a recognizable format.
//    The String value '1.34e28' is not in a recognizable format.
//    The String value '-26.87' is not in a recognizable format.
//    The String value '-18' is outside the range of the UInt32 type.
//    The String value '-6.00' is not in a recognizable format.
//    Converted the String value ' 0' to the UInt32 value 0.
//    Converted the String value '137' to the UInt32 value 137.
//    The String value '1601.9' is not in a recognizable format.
//    Converted the String value '2147483647' to the UInt32 value 2147483647.

Hinweise

Die Verwendung der ToUInt32(String)-Methode entspricht dem Übergeben von value an die UInt32.Parse(String)-Methode. value wird mithilfe der Formatierungskonventionen der aktuellen Kultur interpretiert.

Wenn Sie eine Ausnahme lieber nicht behandeln möchten, wenn die Konvertierung fehlschlägt, können Sie stattdessen die UInt32.TryParse-Methode aufrufen. Es wird ein Boolean Wert zurückgegeben, der angibt, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(UInt64)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Wandelt den Wert der angegebenen 64-Bit-ganzzahl ohne Vorzeichen in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

[System.CLSCompliant(false)]
public static uint ToUInt32 (ulong value);

Parameter

value
UInt64

Die zu konvertierende 64-Bit-Ganzzahl ohne Vorzeichen.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die valueentspricht.

Attribute

Ausnahmen

value ist größer als UInt32.MaxValue.

Beispiele

Im folgenden Beispiel wird versucht, jedes Element in einem nicht signierten ganzzahligen Array in einen ganzzahligen Wert ohne Vorzeichen zu konvertieren.

ulong[] numbers = { UInt64.MinValue, 121, 340, UInt64.MaxValue };
uint result;
foreach (ulong number in numbers)
{
   try {
      result = Convert.ToUInt32(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the UInt32 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    Converted the UInt64 value 0 to the UInt32 value 0.
//    Converted the UInt64 value 121 to the UInt32 value 121.
//    Converted the UInt64 value 340 to the UInt32 value 340.
//    The UInt64 value 18446744073709551615 is outside the range of the UInt32 type.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(UInt16)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Wandelt den Wert der angegebenen 16-Bit-ganzzahl ohne Vorzeichen in die entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

[System.CLSCompliant(false)]
public static uint ToUInt32 (ushort value);

Parameter

value
UInt16

Die zu konvertierende 16-Bit-Ganzzahl ohne Vorzeichen.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die valueentspricht.

Attribute

Beispiele

Im folgenden Beispiel werden jedes Element in einem nicht signierten ganzzahligen Array mit 16 Bit in einen ganzzahligen Wert ohne Vorzeichen konvertiert.

ushort[] numbers = { UInt16.MinValue, 121, 340, UInt16.MaxValue };
uint result;
foreach (ushort number in numbers)
{
   result = Convert.ToUInt32(number);
   Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                     number.GetType().Name, number,
                     result.GetType().Name, result);
}
// The example displays the following output:
//    Converted the UInt16 value 0 to the UInt32 value 0.
//    Converted the UInt16 value 121 to the UInt32 value 121.
//    Converted the UInt16 value 340 to the UInt32 value 340.
//    Converted the UInt16 value 65535 to the UInt32 value 65535.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(UInt32)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Gibt die angegebene 32-Bit-ganzzahl ohne Vorzeichen zurück. Es wird keine tatsächliche Konvertierung ausgeführt.

[System.CLSCompliant(false)]
public static uint ToUInt32 (uint value);

Parameter

value
UInt32

Die zurückzugebende 32-Bit-Ganzzahl ohne Vorzeichen.

Gibt zurück

value wird unverändert zurückgegeben.

Attribute

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(DateTime)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Durch Aufrufen dieser Methode wird immer InvalidCastExceptionausgelöst.

[System.CLSCompliant(false)]
public static uint ToUInt32 (DateTime value);

Parameter

value
DateTime

Der zu konvertierende Datums- und Uhrzeitwert.

Gibt zurück

Diese Konvertierung wird nicht unterstützt. Es wird kein Wert zurückgegeben.

Attribute

Ausnahmen

Diese Konvertierung wird nicht unterstützt.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

ToUInt32(String, IFormatProvider)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert die angegebene Zeichenfolgendarstellung einer Zahl in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen.

[System.CLSCompliant(false)]
public static uint ToUInt32 (string value, IFormatProvider provider);
[System.CLSCompliant(false)]
public static uint ToUInt32 (string? value, IFormatProvider? provider);

Parameter

value
String

Eine Zeichenfolge, die die zu konvertierende Zahl enthält.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die der Zahl in valueentspricht, oder 0 (Null), wenn valuenullist.

Attribute

Ausnahmen

value besteht nicht aus einem optionalen Vorzeichen gefolgt von einer Sequenz von Ziffern (0 bis 9).

value stellt eine Zahl dar, die kleiner als UInt32.MinValue oder größer als UInt32.MaxValueist.

Beispiele

Im folgenden Beispiel wird ein benutzerdefiniertes NumberFormatInfo -Objekt definiert, das die Zeichenfolge "pos" als positives Zeichen und die Zeichenfolge "neg" als negatives Zeichen erkennt. Anschließend wird versucht, jedes Element eines numerischen Zeichenfolgenarrays mithilfe dieses Anbieters und des NumberFormatInfo Anbieters für die invariante Kultur in eine ganze Zahl zu konvertieren.

using System;
using System.Globalization;

public class Class1
{
   public static void Main()
   {
      // Create a NumberFormatInfo object and set several of its
      // properties that apply to numbers.
      NumberFormatInfo provider = new NumberFormatInfo();
      provider.PositiveSign = "pos ";
      provider.NegativeSign = "neg ";

      // Define an array of numeric strings.
      string[] values = { "123456789", "+123456789", "pos 123456789",
                          "123456789.", "123,456,789",  "4294967295",
                          "4294967296", "-1", "neg 1" };

      foreach (string value in values)
      {
         Console.Write("{0,-20} -->", value);
         try {
            Console.WriteLine("{0,20}", Convert.ToUInt32(value, provider));
         }
         catch (FormatException) {
            Console.WriteLine("{0,20}", "Bad Format");
         }
         catch (OverflowException) {
            Console.WriteLine("{0,20}", "Numeric Overflow");
         }
      }
   }
}
// The example displays the following output:
//       123456789            -->           123456789
//       +123456789           -->          Bad Format
//       pos 123456789        -->           123456789
//       123456789.           -->          Bad Format
//       123,456,789          -->          Bad Format
//       4294967295           -->          4294967295
//       4294967296           -->    Numeric Overflow
//       -1                   -->          Bad Format
//       neg 1                -->    Numeric Overflow

Hinweise

Der Rückgabewert ist das Ergebnis des Aufrufens von UInt32.Parse für value.

provider ist eine IFormatProvider Instanz, die ein NumberFormatInfo-Objekt abruft. Das NumberFormatInfo-Objekt stellt kulturspezifische Informationen zum Format von valuebereit. Wenn providernullist, wird die NumberFormatInfo für die aktuelle Kultur verwendet.

Wenn Sie eine Ausnahme lieber nicht behandeln möchten, wenn die Konvertierung fehlschlägt, können Sie stattdessen die UInt32.TryParse-Methode aufrufen. Es wird ein Boolean Wert zurückgegeben, der angibt, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(String, Int32)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert die Zeichenfolgendarstellung einer Zahl in einer angegebenen Basis in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen.

[System.CLSCompliant(false)]
public static uint ToUInt32 (string value, int fromBase);
[System.CLSCompliant(false)]
public static uint ToUInt32 (string? value, int fromBase);

Parameter

value
String

Eine Zeichenfolge, die die zu konvertierende Zahl enthält.

fromBase
Int32

Die Basis der Zahl in value, die 2, 8, 10 oder 16 sein muss.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die der Zahl in valueentspricht, oder 0 (Null), wenn valuenullist.

Attribute

Ausnahmen

fromBase ist nicht 2, 8, 10 oder 16.

-oder-

value, der eine nicht signierte Zahl 10 darstellt, wird einem negativen Vorzeichen vorangestellt.

value enthält ein Zeichen, das keine gültige Ziffer in der durch fromBaseangegebenen Basis ist. Die Ausnahmemeldung gibt an, dass es keine Zu konvertierenden Ziffern gibt, wenn das erste Zeichen in value ungültig ist; andernfalls gibt die Meldung an, dass value ungültige nachgestellte Zeichen enthält.

value, der eine nicht signierte Zahl 10 darstellt, wird einem negativen Vorzeichen vorangestellt.

-oder-

value stellt eine Zahl dar, die kleiner als UInt32.MinValue oder größer als UInt32.MaxValueist.

Beispiele

Im folgenden Beispiel wird versucht, jedes Element in einem Array numerischer Zeichenfolgen als Hexadezimalwert zu interpretieren und in eine nicht signierte ganze Zahl zu konvertieren.

using System;

public class Example
{
   public static void Main()
   {
      string[] hexStrings = { "80000000", "0FFFFFFF", "F0000000", "00A3000", "D",
                              "-13", "9AC61", "GAD", "FFFFFFFFFF" };

      foreach (string hexString in hexStrings)
      {
         Console.Write("{0,-12}  -->  ", hexString);
         try {
            uint number = Convert.ToUInt32(hexString, 16);
            Console.WriteLine("{0,18:N0}", number);
         }
         catch (FormatException) {
            Console.WriteLine("{0,18}", "Bad Format");
         }
         catch (OverflowException)
         {
            Console.WriteLine("{0,18}", "Numeric Overflow");
         }
         catch (ArgumentException) {
            Console.WriteLine("{0,18}", "Invalid in Base 16");
         }
      }
   }
}
// The example displays the following output:
//       80000000      -->       2,147,483,648
//       0FFFFFFF      -->         268,435,455
//       F0000000      -->       4,026,531,840
//       00A3000       -->             667,648
//       D             -->                  13
//       -13           -->  Invalid in Base 16
//       9AC61         -->             633,953
//       GAD           -->          Bad Format
//       FFFFFFFFFF    -->    Numeric Overflow

Hinweise

Wenn fromBase 16 ist, können Sie der durch den parameter value angegebenen Zahl das Präfix "0x" oder "0X" voranstellen.

Da der datentyp UInt32 nur nicht signierte Werte unterstützt, wird von der ToUInt32(String, Int32)-Methode davon ausgegangen, dass value mit nicht signierter binärer Darstellung ausgedrückt wird. Anders ausgedrückt: Alle 32 Bits werden verwendet, um den numerischen Wert darzustellen, und ein Zeichenbit fehlt. Daher ist es möglich, Code zu schreiben, in dem ein signierter ganzzahliger Wert, der sich außerhalb des Bereichs des UInt32 Datentyps befindet, in einen UInt32 Wert konvertiert wird, ohne dass die Methode eine Ausnahme auslöst. Im folgenden Beispiel werden MinValue in die Hexadezimalzeichenfolgendarstellung konvertiert und anschließend die ToUInt32(String, Int32)-Methode aufgerufen. Statt eine Ausnahme auszuwerfen, zeigt die Methode die Meldung "0x80000000 konvertiert in 2147483648" an.

// Create a hexadecimal value out of range of the UInt32 type.
string value = Convert.ToString(Int32.MinValue, 16);
// Convert it back to a number.
try
{
   UInt32 number = Convert.ToUInt32(value, 16);
   Console.WriteLine("0x{0} converts to {1}.", value, number);
}
catch (OverflowException)
{
   Console.WriteLine("Unable to convert '0x{0}' to an unsigned integer.",
                     value);
}

Beim Ausführen von binären Vorgängen oder numerischen Konvertierungen liegt es immer in der Verantwortung des Entwicklers, zu überprüfen, ob eine Methode oder ein Operator die entsprechende numerische Darstellung verwendet, um einen bestimmten Wert zu interpretieren. Im folgenden Beispiel wird eine Technik veranschaulicht, mit der sichergestellt wird, dass die Methode bei der Konvertierung einer hexadezimalen Zeichenfolge in einen UInt32 Wert keine binäre Darstellung verwendet, um einen Wert zu interpretieren, der zwei Komplementdarstellungen verwendet. Das Beispiel bestimmt, ob ein Wert eine signierte oder eine nicht signierte ganze Zahl darstellt, während er diesen Wert in seine Zeichenfolgendarstellung konvertiert. Wenn das Beispiel den Wert in einen UInt32-Wert konvertiert, wird überprüft, ob der ursprüngliche Wert eine signierte ganze Zahl war. Wenn ja, und wenn das Bit mit hoher Reihenfolge festgelegt ist (was angibt, dass der ursprüngliche Wert negativ war), löst die Methode eine Ausnahme aus.

// Create a negative hexadecimal value out of range of the UInt32 type.
int sourceNumber = Int32.MinValue;
bool isSigned = Math.Sign((int)sourceNumber.GetType().GetField("MinValue").GetValue(null)) == -1;
string value = Convert.ToString(sourceNumber, 16);
UInt32 targetNumber;
try
{
   targetNumber = Convert.ToUInt32(value, 16);
   if (isSigned && ((targetNumber & 0x80000000) != 0))
      throw new OverflowException();
   else
      Console.WriteLine("0x{0} converts to {1}.", value, targetNumber);
}
catch (OverflowException)
{
   Console.WriteLine("Unable to convert '0x{0}' to an unsigned integer.",
                     value);
}
// Displays the following to the console:
//    Unable to convert '0x80000000' to an unsigned integer.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(Single)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Wandelt den Wert der angegebenen Gleitkommazahl mit einfacher Genauigkeit in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

[System.CLSCompliant(false)]
public static uint ToUInt32 (float value);

Parameter

value
Single

Die zu konvertierende Gleitkommazahl mit einfacher Genauigkeit.

Gibt zurück

value, gerundet auf die nächste 32-Bit-ganzzahl ohne Vorzeichen. Wenn value zwischen zwei ganzen Zahlen halbwegs liegt, wird die gerade Zahl zurückgegeben; d. h. 4,5 wird in 4 konvertiert, und 5,5 wird in 6 konvertiert.

Attribute

Ausnahmen

value ist kleiner als null oder größer als UInt32.MaxValue.

Beispiele

Im folgenden Beispiel wird versucht, jedes Element in einem Array von Single Werten in eine ganze Zahl ohne Vorzeichen zu konvertieren.

float[] values= { Single.MinValue, -1.38e10f, -1023.299f, -12.98f,
                  0f, 9.113e-16f, 103.919f, 17834.191f, Single.MaxValue };
uint result;

foreach (float value in values)
{
   try {
      result = Convert.ToUInt32(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("The {0} value {1} is outside the range of the UInt32 type.",
                        value.GetType().Name, value);
   }
}
// The example displays the following output:
//    The Single value -3.402823E+38 is outside the range of the UInt32 type.
//    The Single value -1.38E+10 is outside the range of the UInt32 type.
//    The Single value -1023.299 is outside the range of the UInt32 type.
//    The Single value -12.98 is outside the range of the UInt32 type.
//    Converted the Single value 0 to the UInt32 value 0.
//    Converted the Single value 9.113E-16 to the UInt32 value 0.
//    Converted the Single value 103.919 to the UInt32 value 104.
//    Converted the Single value 17834.19 to the UInt32 value 17834.
//    The Single value 3.402823E+38 is outside the range of the UInt32 type.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(Object, IFormatProvider)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert den Wert des angegebenen Objekts in eine 32-Bit-ganzzahl ohne Vorzeichen unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen.

[System.CLSCompliant(false)]
public static uint ToUInt32 (object value, IFormatProvider provider);
[System.CLSCompliant(false)]
public static uint ToUInt32 (object? value, IFormatProvider? provider);

Parameter

value
Object

Ein Objekt, das die IConvertible Schnittstelle implementiert.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die valueentspricht, oder Null, wenn valuenullist.

Attribute

Ausnahmen

value ist nicht in einem geeigneten Format vorhanden.

value implementiert die IConvertible Schnittstelle nicht.

-oder-

Die Konvertierung wird nicht unterstützt.

value stellt eine Zahl dar, die kleiner als UInt32.MinValue oder größer als UInt32.MaxValueist.

Beispiele

Im folgenden Beispiel wird eine HexString Klasse definiert, die die IConvertible Schnittstelle implementiert und für die Zeichenfolgendarstellung von 32-Bit-signierten und nicht signierten 32-Bit-Werten konzipiert ist. Die Klasse enthält eine Sign-Eigenschaft, die das Vorzeichen des Hexadezimalwerts angibt.

using System;
using System.Globalization;
using System.Text.RegularExpressions;

public enum SignBit { Negative=-1, Zero=0, Positive=1 };

public struct HexString : IConvertible
{
   private SignBit signBit;
   private string hexString;

   public SignBit Sign
   {
      set { signBit = value; }
      get { return signBit; }
   }

   public string Value
   {
      set {
         if (value.Trim().Length > 8)
            throw new ArgumentException("The string representation of a 32-bit integer cannot have more than 8 characters.");
         else if (! Regex.IsMatch(value, "([0-9,A-F]){1,8}", RegexOptions.IgnoreCase))
            throw new ArgumentException("The hexadecimal representation of a 32-bit integer contains invalid characters.");
         else
            hexString = value;
      }
      get { return hexString; }
   }

   // IConvertible implementations.
   public TypeCode GetTypeCode()
   {
      return TypeCode.Object;
   }

   public bool ToBoolean(IFormatProvider provider)
   {
      return signBit != SignBit.Zero;
   }

   public byte ToByte(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is out of range of the Byte type.", Convert.ToInt32(hexString, 16)));
      else
         try {
            return Byte.Parse(hexString, NumberStyles.HexNumber);
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is out of range of the Byte type.", Convert.ToUInt32(hexString, 16)), e);
         }
   }

   public char ToChar(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is out of range of the Char type.", Convert.ToInt32(hexString, 16)));

      try {
         ushort codePoint = UInt16.Parse(this.hexString, NumberStyles.HexNumber);
         return Convert.ToChar(codePoint);
      }
      catch (OverflowException e) {
         throw new OverflowException(String.Format("{0} is out of range of the Char type.", Convert.ToUInt32(hexString, 16)), e);
      }
   }

   public DateTime ToDateTime(IFormatProvider provider)
   {
      throw new InvalidCastException("Hexadecimal to DateTime conversion is not supported.");
   }

   public decimal ToDecimal(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
      {
         int hexValue = Int32.Parse(hexString, NumberStyles.HexNumber);
         return Convert.ToDecimal(hexValue);
      }
      else
      {
         uint hexValue = UInt32.Parse(hexString, NumberStyles.HexNumber);
         return Convert.ToDecimal(hexValue);
      }
   }

   public double ToDouble(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         return Convert.ToDouble(Int32.Parse(hexString, NumberStyles.HexNumber));
      else
         return Convert.ToDouble(UInt32.Parse(hexString, NumberStyles.HexNumber));
   }

   public short ToInt16(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         try {
            return Convert.ToInt16(Int32.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is out of range of the Int16 type.", Convert.ToInt32(hexString, 16)), e);
         }
      else
         try {
            return Convert.ToInt16(UInt32.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is out of range of the Int16 type.", Convert.ToUInt32(hexString, 16)), e);
         }
   }

   public int ToInt32(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         return Int32.Parse(hexString, NumberStyles.HexNumber);
      else
         try {
            return Convert.ToInt32(UInt32.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is out of range of the Int32 type.", Convert.ToUInt32(hexString, 16)), e);
         }
   }

   public long ToInt64(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         return Convert.ToInt64(Int32.Parse(hexString, NumberStyles.HexNumber));
      else
         return Int64.Parse(hexString, NumberStyles.HexNumber);
   }

   public sbyte ToSByte(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         try {
            return Convert.ToSByte(Int32.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is outside the range of the SByte type.",
                                                      Int32.Parse(hexString, NumberStyles.HexNumber), e));
         }
      else
         try {
            return Convert.ToSByte(UInt32.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is outside the range of the SByte type.",
                                                    UInt32.Parse(hexString, NumberStyles.HexNumber)), e);
         }
   }

   public float ToSingle(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         return Convert.ToSingle(Int32.Parse(hexString, NumberStyles.HexNumber));
      else
         return Convert.ToSingle(UInt32.Parse(hexString, NumberStyles.HexNumber));
   }

   public string ToString(IFormatProvider provider)
   {
      return "0x" + this.hexString;
   }

   public object ToType(Type conversionType, IFormatProvider provider)
   {
      switch (Type.GetTypeCode(conversionType))
      {
         case TypeCode.Boolean:
            return this.ToBoolean(null);
         case TypeCode.Byte:
            return this.ToByte(null);
         case TypeCode.Char:
            return this.ToChar(null);
         case TypeCode.DateTime:
            return this.ToDateTime(null);
         case TypeCode.Decimal:
            return this.ToDecimal(null);
         case TypeCode.Double:
            return this.ToDouble(null);
         case TypeCode.Int16:
            return this.ToInt16(null);
         case TypeCode.Int32:
            return this.ToInt32(null);
         case TypeCode.Int64:
            return this.ToInt64(null);
         case TypeCode.Object:
            if (typeof(HexString).Equals(conversionType))
               return this;
            else
               throw new InvalidCastException(String.Format("Conversion to a {0} is not supported.", conversionType.Name));
         case TypeCode.SByte:
            return this.ToSByte(null);
         case TypeCode.Single:
            return this.ToSingle(null);
         case TypeCode.String:
            return this.ToString(null);
         case TypeCode.UInt16:
            return this.ToUInt16(null);
         case TypeCode.UInt32:
            return this.ToUInt32(null);
         case TypeCode.UInt64:
            return this.ToUInt64(null);
         default:
            throw new InvalidCastException(String.Format("Conversion to {0} is not supported.", conversionType.Name));
      }
   }

   public ushort ToUInt16(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is outside the range of the UInt16 type.",
                                                   Int32.Parse(hexString, NumberStyles.HexNumber)));
      else
         try {
            return Convert.ToUInt16(UInt32.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is out of range of the UInt16 type.", Convert.ToUInt32(hexString, 16)), e);
         }
   }

   public uint ToUInt32(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is outside the range of the UInt32 type.",
                                                   Int32.Parse(hexString, NumberStyles.HexNumber)));
      else
         return Convert.ToUInt32(hexString, 16);
   }

   public ulong ToUInt64(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is outside the range of the UInt64 type.",
                                                   Int32.Parse(hexString, NumberStyles.HexNumber)));
      else
         return Convert.ToUInt64(hexString, 16);
   }
}

Das folgende Beispiel zeigt, dass ein Aufruf der ToUInt32(Object, IFormatProvider)-Methode, die ein HexString-Objekt als Parameter übergibt, wiederum die IConvertible.ToUInt32 Implementierung der HexString Klasse aufruft.

public class Example
{
   public static void Main()
   {
      uint positiveValue = 320000000;
      int negativeValue = -1;

      HexString positiveString = new HexString();
      positiveString.Sign = (SignBit) Math.Sign(positiveValue);
      positiveString.Value = positiveValue.ToString("X4");

      HexString negativeString = new HexString();
      negativeString.Sign = (SignBit) Math.Sign(negativeValue);
      negativeString.Value = negativeValue.ToString("X4");

      try {
         Console.WriteLine("0x{0} converts to {1}.", positiveString.Value, Convert.ToUInt32(positiveString));
      }
      catch (OverflowException) {
         Console.WriteLine("{0} is outside the range of the UInt32 type.",
                           Int32.Parse(positiveString.Value, NumberStyles.HexNumber));
      }

      try {
         Console.WriteLine("0x{0} converts to {1}.", negativeString.Value, Convert.ToUInt32(negativeString));
      }
      catch (OverflowException) {
         Console.WriteLine("{0} is outside the range of the UInt32 type.",
                           Int32.Parse(negativeString.Value, NumberStyles.HexNumber));
      }
   }
}
// The example dosplays the following output:
//       0x1312D000 converts to 320000000.
//       -1 is outside the range of the UInt32 type.

Hinweise

Der Rückgabewert ist das Ergebnis des Aufrufs der IConvertible.ToUInt32 Methode des zugrunde liegenden Typs von value.

provider ermöglicht es dem Benutzer, kulturspezifische Konvertierungsinformationen über den Inhalt valueanzugeben. Wenn value z. B. eine String ist, die eine Zahl darstellt, kann provider kulturspezifische Informationen über die Zum Darstellen dieser Zahl verwendete Notation bereitstellen.

Die Basistypen ignorieren provider; Der Parameter kann jedoch verwendet werden, wenn value ein benutzerdefinierter Typ ist, der die IConvertible Schnittstelle implementiert.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(SByte)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Wandelt den Wert der angegebenen 8-Bit-ganzzahligen Vorzeichen in die entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

[System.CLSCompliant(false)]
public static uint ToUInt32 (sbyte value);

Parameter

value
SByte

Die zu konvertierende 8-Bit-Ganzzahl mit Vorzeichen.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die valueentspricht.

Attribute

Ausnahmen

value ist kleiner als Null.

Beispiele

Im folgenden Beispiel wird versucht, jedes Element in einem signierten Bytearray in eine nicht signierte ganze Zahl zu konvertieren.

sbyte[] numbers = { SByte.MinValue, -1, 0, 10, SByte.MaxValue };
uint result;

foreach (sbyte number in numbers)
{
   try {
      result = Convert.ToUInt32(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the UInt32 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    The SByte value -128 is outside the range of the UInt32 type.
//    The SByte value -1 is outside the range of the UInt32 type.
//    Converted the SByte value 0 to the UInt32 value 0.
//    Converted the SByte value 10 to the UInt32 value 10.
//    Converted the SByte value 127 to the UInt32 value 127.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(Char)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Wandelt den Wert des angegebenen Unicode-Zeichens in die entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

[System.CLSCompliant(false)]
public static uint ToUInt32 (char value);

Parameter

value
Char

Das zu konvertierende Unicode-Zeichen.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die valueentspricht.

Attribute

Beispiele

Im folgenden Beispiel werden die einzelnen Elemente in einem Zeichenarray in eine nicht signierte ganze Zahl konvertiert.

char[] chars = { 'a', 'z', '\u0007', '\u03FF',
                 '\u7FFF', '\uFFFE' };
uint result;

foreach (char ch in chars)
{
   result = Convert.ToUInt32(ch);
   Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                     ch.GetType().Name, ch,
                     result.GetType().Name, result);
}
// The example displays the following output:
//    Converted the Char value 'a' to the UInt32 value 97.
//    Converted the Char value 'z' to the UInt32 value 122.
//    Converted the Char value '' to the UInt32 value 7.
//    Converted the Char value 'Ͽ' to the UInt32 value 1023.
//    Converted the Char value '翿' to the UInt32 value 32767.
//    Converted the Char value '' to the UInt32 value 65534.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(Int64)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Wandelt den Wert der angegebenen 64-Bit-ganzzahligen Vorzeichen in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

[System.CLSCompliant(false)]
public static uint ToUInt32 (long value);

Parameter

value
Int64

Die zu konvertierende 64-Bit-Ganzzahl mit Vorzeichen.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die valueentspricht.

Attribute

Ausnahmen

value ist kleiner als null oder größer als UInt32.MaxValue.

Beispiele

Im folgenden Beispiel wird versucht, jedes Element in einem langen ganzzahligen Array in eine nicht signierte ganze Zahl zu konvertieren.

long[] numbers = { Int64.MinValue, -1, 0, 121, 340, Int64.MaxValue };
uint result;
foreach (long number in numbers)
{
   try {
      result = Convert.ToUInt32(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the UInt32 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    The Int64 value -9223372036854775808 is outside the range of the UInt32 type.
//    The Int64 value -1 is outside the range of the UInt32 type.
//    Converted the Int64 value 0 to the UInt32 value 0.
//    Converted the Int64 value 121 to the UInt32 value 121.
//    Converted the Int64 value 340 to the UInt32 value 340.
//    The Int64 value 9223372036854775807 is outside the range of the UInt32 type.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(Int32)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Wandelt den Wert der angegebenen 32-Bit-ganzzahligen Vorzeichen in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

[System.CLSCompliant(false)]
public static uint ToUInt32 (int value);

Parameter

value
Int32

Die zu konvertierende 32-Bit-Ganzzahl mit Vorzeichen.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die valueentspricht.

Attribute

Ausnahmen

value ist kleiner als Null.

Beispiele

Im folgenden Beispiel wird versucht, jedes Element in einem ganzzahligen Array in eine nicht signierte ganze Zahl zu konvertieren.

int[] numbers = { Int32.MinValue, -1203, 0, 121, 1340, Int32.MaxValue };
uint result;
foreach (int number in numbers)
{
   try {
      result = Convert.ToUInt32(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the UInt32 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    The Int32 value -2147483648 is outside the range of the UInt32 type.
//    The Int32 value -1203 is outside the range of the UInt32 type.
//    Converted the Int32 value 0 to the UInt32 value 0.
//    Converted the Int32 value 121 to the UInt32 value 121.
//    Converted the Int32 value 1340 to the UInt32 value 1340.
//    Converted the Int32 value 2147483647 to the UInt32 value 2147483647.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(Int16)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Wandelt den Wert der angegebenen 16-Bit-ganzzahligen Vorzeichen in die entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

[System.CLSCompliant(false)]
public static uint ToUInt32 (short value);

Parameter

value
Int16

Die zu konvertierende 16-Bit-Ganzzahl.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die valueentspricht.

Attribute

Ausnahmen

value ist kleiner als Null.

Beispiele

Im folgenden Beispiel wird versucht, jedes Element in einem 16-Bit-Ganzzahlarray in eine ganze Zahl ohne Vorzeichen zu konvertieren.

short[] numbers= { Int16.MinValue, -1, 0, 121, 340, Int16.MaxValue };
uint result;

foreach (short number in numbers)
{
   try {
      result = Convert.ToUInt32(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                           number.GetType().Name, number,
                           result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the UInt32 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    The Int16 value -32768 is outside the range of the UInt32 type.
//    The Int16 value -1 is outside the range of the UInt32 type.
//    Converted the Int16 value 0 to the UInt32 value 0.
//    Converted the Int16 value 121 to the UInt32 value 121.
//    Converted the Int16 value 340 to the UInt32 value 340.
//    Converted the Int16 value 32767 to the UInt32 value 32767.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(Double)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Wandelt den Wert der angegebenen Gleitkommazahl mit doppelter Genauigkeit in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

[System.CLSCompliant(false)]
public static uint ToUInt32 (double value);

Parameter

value
Double

Die zu konvertierende Gleitkommazahl mit doppelter Genauigkeit.

Gibt zurück

value, gerundet auf die nächste 32-Bit-ganzzahl ohne Vorzeichen. Wenn value zwischen zwei ganzen Zahlen halbwegs liegt, wird die gerade Zahl zurückgegeben; d. h. 4,5 wird in 4 konvertiert, und 5,5 wird in 6 konvertiert.

Attribute

Ausnahmen

value ist kleiner als null oder größer als UInt32.MaxValue.

Beispiele

Im folgenden Beispiel wird versucht, jedes Element in einem Array von Double Werten in eine ganze Zahl ohne Vorzeichen zu konvertieren.

double[] values= { Double.MinValue, -1.38e10, -1023.299, -12.98,
                   0, 9.113e-16, 103.919, 17834.191, Double.MaxValue };
uint result;

foreach (double value in values)
{
   try {
      result = Convert.ToUInt32(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("The {0} value {1} is outside the range of the UInt32 type.",
                        value.GetType().Name, value);
   }
}
// The example displays the following output:
//    The Double value -1.79769313486232E+308 is outside the range of the UInt32 type.
//    The Double value -13800000000 is outside the range of the UInt32 type.
//    The Double value -1023.299 is outside the range of the UInt32 type.
//    The Double value -12.98 is outside the range of the UInt32 type.
//    Converted the Double value '0' to the UInt32 value 0.
//    Converted the Double value '9.113E-16' to the UInt32 value 0.
//    Converted the Double value '103.919' to the UInt32 value 104.
//    Converted the Double value '17834.191' to the UInt32 value 17834.
//    The Double value 1.79769313486232E+308 is outside the range of the UInt32 type.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(Decimal)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Wandelt den Wert der angegebenen Dezimalzahl in eine entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

[System.CLSCompliant(false)]
public static uint ToUInt32 (decimal value);

Parameter

value
Decimal

Die zu konvertierende Dezimalzahl.

Gibt zurück

value, gerundet auf die nächste 32-Bit-ganzzahl ohne Vorzeichen. Wenn value zwischen zwei ganzen Zahlen halbwegs liegt, wird die gerade Zahl zurückgegeben; d. h. 4,5 wird in 4 konvertiert, und 5,5 wird in 6 konvertiert.

Attribute

Ausnahmen

value ist kleiner als null oder größer als UInt32.MaxValue.

Beispiele

Im folgenden Beispiel wird versucht, jedes Element in einem Array von Decimal Werten in eine ganze Zahl ohne Vorzeichen zu konvertieren.

decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
                    199.55m, 9214.16m, Decimal.MaxValue };
uint result;

foreach (decimal value in values)
{
   try {
      result = Convert.ToUInt32(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("The {0} value {1} is outside the range of the UInt32 type.",
                        value.GetType().Name, value);
   }
}
// The example displays the following output:
//    The Decimal value -79228162514264337593543950335 is outside the range of the UInt32 type.
//    The Decimal value -1034.23 is outside the range of the UInt32 type.
//    The Decimal value -12 is outside the range of the UInt32 type.
//    Converted the Decimal value '0' to the UInt32 value 0.
//    Converted the Decimal value '147' to the UInt32 value 147.
//    Converted the Decimal value '199.55' to the UInt32 value 200.
//    Converted the Decimal value '9214.16' to the UInt32 value 9214.
//    The Decimal value 79228162514264337593543950335 is outside the range of the UInt32 type.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(Object)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert den Wert des angegebenen Objekts in eine 32-Bit-ganzzahl ohne Vorzeichen.

[System.CLSCompliant(false)]
public static uint ToUInt32 (object value);
[System.CLSCompliant(false)]
public static uint ToUInt32 (object? value);

Parameter

value
Object

Ein Objekt, das die IConvertible Schnittstelle oder nullimplementiert.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die valueentspricht, oder 0 (Null), wenn valuenullist.

Attribute

Ausnahmen

value ist nicht in einem geeigneten Format vorhanden.

value implementiert die IConvertible Schnittstelle nicht.

-oder-

Die Konvertierung wird nicht unterstützt.

value stellt eine Zahl dar, die kleiner als UInt32.MinValue oder größer als UInt32.MaxValueist.

Beispiele

Im folgenden Beispiel wird versucht, jedes Element in einem Objektarray in eine nicht signierte ganze Zahl zu konvertieren.

object[] values = { true, -12, 163, 935, 'x', new DateTime(2009, 5, 12),
                    "104", "103.0", "-1",
                    "1.00e2", "One", 1.00e2, 16.3e42};
uint result;

foreach (object value in values)
{
   try {
      result = Convert.ToUInt32(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("The {0} value '{1}' is outside the range of the UInt32 type.",
                        value.GetType().Name, value);
   }
   catch (FormatException) {
      Console.WriteLine("The {0} value {1} is not in a recognizable format.",
                        value.GetType().Name, value);
   }
   catch (InvalidCastException) {
      Console.WriteLine("No conversion to a UInt32 exists for the {0} value '{1}'.",
                        value.GetType().Name, value);
   }
}
// The example displays the following output:
//    Converted the Boolean value True to the UInt32 value 1.
//    The Int32 value '-12' is outside the range of the UInt32 type.
//    Converted the Int32 value 163 to the UInt32 value 163.
//    Converted the Int32 value 935 to the UInt32 value 935.
//    Converted the Char value x to the UInt32 value 120.
//    No conversion to a UInt32 exists for the DateTime value '5/12/2009 12:00:00 AM'.
//    Converted the String value 104 to the UInt32 value 104.
//    The String value 103.0 is not in a recognizable format.
//    The String value '-1' is outside the range of the UInt32 type.
//    The String value 1.00e2 is not in a recognizable format.
//    The String value One is not in a recognizable format.
//    Converted the Double value 100 to the UInt32 value 100.
//    The Double value '1.63E+43' is outside the range of the UInt32 type.

Hinweise

Der Rückgabewert ist das Ergebnis des Aufrufs der IConvertible.ToUInt32 Methode des zugrunde liegenden Typs von value.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(Byte)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Wandelt den Wert der angegebenen 8-Bit-ganzzahl ohne Vorzeichen in die entsprechende 32-Bit-ganzzahl ohne Vorzeichen um.

[System.CLSCompliant(false)]
public static uint ToUInt32 (byte value);

Parameter

value
Byte

Die zu konvertierende 8-Bit-Ganzzahl ohne Vorzeichen.

Gibt zurück

Eine 32-Bit-ganzzahl ohne Vorzeichen, die valueentspricht.

Attribute

Beispiele

Im folgenden Beispiel werden die einzelnen Elemente in einem Bytearray in eine ganze Zahl ohne Vorzeichen konvertiert.

byte[] bytes = { Byte.MinValue, 14, 122, Byte.MaxValue};
uint result;

foreach (byte byteValue in bytes)
{
   result = Convert.ToUInt32(byteValue);
   Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                     byteValue.GetType().Name, byteValue,
                     result.GetType().Name, result);
}
// The example displays the following output:
//    Converted the Byte value 0 to the UInt32 value 0.
//    Converted the Byte value 14 to the UInt32 value 14.
//    Converted the Byte value 122 to the UInt32 value 122.
//    Converted the Byte value 255 to the UInt32 value 255.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt32(Boolean)

Quelle:
Convert.cs
Quelle:
Convert.cs
Quelle:
Convert.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert den angegebenen booleschen Wert in die entsprechende 32-Bit-ganzzahl ohne Vorzeichen.

[System.CLSCompliant(false)]
public static uint ToUInt32 (bool value);

Parameter

value
Boolean

Der boolesche Wert, der konvertiert werden soll.

Gibt zurück

Die Zahl 1, wenn valuetrueist; andernfalls 0.

Attribute

Beispiele

Im folgenden Beispiel werden die booleschen Werte true und false in ganze Zahlen konvertiert.

bool falseFlag = false;
bool trueFlag = true;

Console.WriteLine("{0} converts to {1}.", falseFlag,
                  Convert.ToUInt32(falseFlag));
Console.WriteLine("{0} converts to {1}.", trueFlag,
                  Convert.ToUInt32(trueFlag));
// The example displays the following output:
//       False converts to 0.
//       True converts to 1.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0