Convert.ToByte Convert.ToByte Convert.ToByte Convert.ToByte Method

Definition

Konvertiert einen angegebenen Wert in eine 8-Bit-Ganzzahl ohne Vorzeichen.Converts a specified value to an 8-bit unsigned integer.

Überlädt

ToByte(String) ToByte(String) ToByte(String) ToByte(String)

Konvertiert die angegebene Zeichenfolgendarstellung einer Zahl in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the specified string representation of a number to an equivalent 8-bit unsigned integer.

ToByte(UInt16) ToByte(UInt16) ToByte(UInt16) ToByte(UInt16)

Konvertiert den Wert der angegebenen 16-Bit-Ganzzahl ohne Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 16-bit unsigned integer to an equivalent 8-bit unsigned integer.

ToByte(UInt32) ToByte(UInt32) ToByte(UInt32) ToByte(UInt32)

Konvertiert den Wert der angegebenen 32-Bit-Ganzzahl ohne Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 32-bit unsigned integer to an equivalent 8-bit unsigned integer.

ToByte(String, Int32) ToByte(String, Int32) ToByte(String, Int32) ToByte(String, Int32)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einer angegebenen Basis in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the string representation of a number in a specified base to an equivalent 8-bit unsigned integer.

ToByte(Object, IFormatProvider) ToByte(Object, IFormatProvider) ToByte(Object, IFormatProvider) ToByte(Object, IFormatProvider)

Konvertiert den Wert des angegebenen Objekts unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in eine 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified object to an 8-bit unsigned integer, using the specified culture-specific formatting information.

ToByte(String, IFormatProvider) ToByte(String, IFormatProvider) ToByte(String, IFormatProvider) ToByte(String, IFormatProvider)

Konvertiert die angegebene Zeichenfolgendarstellung einer Zahl unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the specified string representation of a number to an equivalent 8-bit unsigned integer, using specified culture-specific formatting information.

ToByte(Single) ToByte(Single) ToByte(Single) ToByte(Single)

Konvertiert den Wert der angegebenen Gleitkommazahl mit einfacher Genauigkeit in die entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified single-precision floating-point number to an equivalent 8-bit unsigned integer.

ToByte(UInt64) ToByte(UInt64) ToByte(UInt64) ToByte(UInt64)

Konvertiert den Wert der angegebenen 64-Bit-Ganzzahl ohne Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 64-bit unsigned integer to an equivalent 8-bit unsigned integer.

ToByte(SByte) ToByte(SByte) ToByte(SByte) ToByte(SByte)

Konvertiert den Wert der angegebenen 8-Bit-Ganzzahl mit Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 8-bit signed integer to an equivalent 8-bit unsigned integer.

ToByte(Double) ToByte(Double) ToByte(Double) ToByte(Double)

Konvertiert den Wert der angegebenen Gleitkommazahl mit doppelter Genauigkeit in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified double-precision floating-point number to an equivalent 8-bit unsigned integer.

ToByte(Int64) ToByte(Int64) ToByte(Int64) ToByte(Int64)

Konvertiert den Wert der angegebenen 64-Bit-Ganzzahl mit Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 64-bit signed integer to an equivalent 8-bit unsigned integer.

ToByte(Byte) ToByte(Byte) ToByte(Byte) ToByte(Byte)

Gibt die angegebene 8-Bit-Ganzzahl ohne Vorzeichen zurück. Es wird keine wirkliche Konvertierung durchgeführt.Returns the specified 8-bit unsigned integer; no actual conversion is performed.

ToByte(Char) ToByte(Char) ToByte(Char) ToByte(Char)

Konvertiert den Wert des angegebenen Unicode-Zeichens in die entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified Unicode character to the equivalent 8-bit unsigned integer.

ToByte(DateTime) ToByte(DateTime) ToByte(DateTime) ToByte(DateTime)

Beim Aufrufen dieser Methode wird immer eine InvalidCastException ausgelöst.Calling this method always throws InvalidCastException.

ToByte(Boolean) ToByte(Boolean) ToByte(Boolean) ToByte(Boolean)

Konvertiert den angegebenen booleschen Wert in die entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the specified Boolean value to the equivalent 8-bit unsigned integer.

ToByte(Int16) ToByte(Int16) ToByte(Int16) ToByte(Int16)

Konvertiert den Wert der angegebenen 16-Bit-Ganzzahl mit Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 16-bit signed integer to an equivalent 8-bit unsigned integer.

ToByte(Int32) ToByte(Int32) ToByte(Int32) ToByte(Int32)

Konvertiert den Wert der angegebenen 32-Bit-Ganzzahl mit Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 32-bit signed integer to an equivalent 8-bit unsigned integer.

ToByte(Decimal) ToByte(Decimal) ToByte(Decimal) ToByte(Decimal)

Konvertiert den Wert der angegebenen Dezimalzahl in die entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified decimal number to an equivalent 8-bit unsigned integer.

ToByte(Object) ToByte(Object) ToByte(Object) ToByte(Object)

Konvertiert den Wert des angegebenen Objekts in eine 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified object to an 8-bit unsigned integer.

ToByte(String) ToByte(String) ToByte(String) ToByte(String)

Konvertiert die angegebene Zeichenfolgendarstellung einer Zahl in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the specified string representation of a number to an equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(System::String ^ value);
public static byte ToByte (string value);
static member ToByte : string -> byte
Public Shared Function ToByte (value As String) As Byte

Parameter

value
String String String String

Eine Zeichenfolge, die die zu konvertierende Zahl enthält.A string that contains the number to convert.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die value entspricht, oder 0 (null), wenn value gleich null ist.An 8-bit unsigned integer that is equivalent to value, or zero if value is null.

Ausnahmen

value besteht nicht aus einem optionalen Vorzeichen und einer Folge von Ziffern (0 bis 9).value does not consist of an optional sign followed by a sequence of digits (0 through 9).

value stellt eine Zahl dar, die kleiner als MinValue oder größer als MaxValue ist.value represents a number that is less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird ein Zeichen folgen Array definiert, und es wird versucht, Bytejede Zeichenfolge in eine zu konvertieren.The following example defines a string array and attempts to convert each string to a Byte. Beachten Sie, dass null , während eine Zeichenfolge mit String.Empty NULL analysiert FormatExceptionwird, eine auslöst.Note that while a null string parses to zero, String.Empty throws a FormatException. Beachten Sie auch, dass das Formatieren von Symbolen (z. b. Währungssymbole, Gruppen Trennzeichen oder Dezimaltrennzeichen) nicht durchgeführt wird, wenn führende und nachfolgende Leerzeichen erfolgreich analysiert werden.Also note that while leading and trailing spaces parse successfully, formatting symbols, such as currency symbols, group separators, or decimal separators, do not.

using System;

public class Example
{
   public static void Main()
   {
      String[] values = { null, "", "0xC9", "C9", "101", "16.3", 
                          "$12", "$12.01", "-4", "1,032", "255",
                          "   16  " };
      foreach (var value in values) {
         try {
            byte number = Convert.ToByte(value);
            Console.WriteLine("'{0}' --> {1}", 
                              value == null ? "<null>" : value, number);
         }
         catch (FormatException) {
            Console.WriteLine("Bad Format: '{0}'", 
                              value == null ? "<null>" : value);
         }
         catch (OverflowException) {
            Console.WriteLine("OverflowException: '{0}'", value);
         }
      }
   }
}
// The example displays the following output:
//     '<null>' --> 0
//     Bad Format: ''
//     Bad Format: '0xC9'
//     Bad Format: 'C9'
//     '101' --> 101
//     Bad Format: '16.3'
//     Bad Format: '$12'
//     Bad Format: '$12.01'
//     OverflowException: '-4'
//     Bad Format: '1,032'
//     '255' --> 255
//     '   16  ' --> 16
Module Example
   Public Sub Main()
      Dim values() As String = { Nothing, "", "0xC9", "C9", "101", 
                                 "16.3", "$12", "$12.01", "-4", 
                                 "1,032", "255", "   16  " }
      For Each value In values
         Try 
            Dim number As Byte = Convert.ToByte(value)
            Console.WriteLine("'{0}' --> {1}", 
                              If(value Is Nothing, "<null>", value), number)
         Catch e As FormatException
            Console.WriteLine("Bad Format: '{0}'", 
                              If(value Is Nothing, "<null>", value))
         Catch e As OverflowException
            Console.WriteLine("OverflowException: '{0}'", value)
         End Try
      Next
   End Sub
End Module
' The example displays the following output:
'     '<null>' --> 0
'     Bad Format: ''
'     Bad Format: '0xC9'
'     Bad Format: 'C9'
'     '101' --> 101
'     Bad Format: '16.3'
'     Bad Format: '$12'
'     Bad Format: '$12.01'
'     OverflowException: '-4'
'     Bad Format: '1,032'
'     '255' --> 255
'     '   16  ' --> 16

Hinweise

Die Verwendung ToByte(String) der-Methode entspricht der value Übergabe an Byte.Parse(String) die-Methode.Using the ToByte(String) method is equivalent to passing value to the Byte.Parse(String) method. value wird mithilfe der Formatierungskonventionen der aktuellen Threadkultur interpretiert.value is interpreted by using the formatting conventions of the current thread culture.

Wenn eine Ausnahme nicht behandelt werden soll, wenn bei der Konvertierung ein Fehler auftritt, können Byte.TryParse Sie stattdessen die-Methode aufzurufen.If you prefer not to handle an exception if the conversion fails, you can call the Byte.TryParse method instead. Gibt einen Boolean Wert zurück, der angibt, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.It returns a Boolean value that indicates whether the conversion succeeded or failed.

Siehe auch

ToByte(UInt16) ToByte(UInt16) ToByte(UInt16) ToByte(UInt16)

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert den Wert der angegebenen 16-Bit-Ganzzahl ohne Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 16-bit unsigned integer to an equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(System::UInt16 value);
[System.CLSCompliant(false)]
public static byte ToByte (ushort value);
static member ToByte : uint16 -> byte
Public Shared Function ToByte (value As UShort) As Byte

Parameter

value
UInt16 UInt16 UInt16 UInt16

Die zu konvertierende 16-Bit-Ganzzahl ohne Vorzeichen.The 16-bit unsigned integer to convert.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die value entspricht.An 8-bit unsigned integer that is equivalent to value.

Ausnahmen

Beispiele

Im folgenden Beispiel wird ein Array von 16-Bit-Ganzzahlen ohne Vorzeichen Byte in-Werte konvertiert.The following example converts an array of unsigned 16-bit integers to Byte values.

ushort[] numbers = { UInt16.MinValue, 121, 340, UInt16.MaxValue };
byte result;
foreach (ushort number in numbers)
{
   try {
      result = Convert.ToByte(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 Byte type.", 
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//       Converted the UInt16 value 0 to the Byte value 0.
//       Converted the UInt16 value 121 to the Byte value 121.
//       The UInt16 value 340 is outside the range of the Byte type.
//       The UInt16 value 65535 is outside the range of the Byte type.
Dim numbers() As UShort = { UInt16.MinValue, 121, 340, UInt16.MaxValue }
Dim result As Byte
For Each number As UShort In numbers
   Try
      result = Convert.ToByte(number)
      Console.WriteLIne("Converted the {0} value {1} to the {2} value {3}.", _
                        number.GetType().Name, number, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Byte type.", _
                        number.GetType().Name, number)
   End Try
Next
' The example displays the following output:
'       Converted the UInt16 value 0 to the Byte value 0.
'       Converted the UInt16 value 121 to the Byte value 121.
'       The UInt16 value 340 is outside the range of the Byte type.
'       The UInt16 value 65535 is outside the range of the Byte type.

ToByte(UInt32) ToByte(UInt32) ToByte(UInt32) ToByte(UInt32)

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert den Wert der angegebenen 32-Bit-Ganzzahl ohne Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 32-bit unsigned integer to an equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(System::UInt32 value);
[System.CLSCompliant(false)]
public static byte ToByte (uint value);
static member ToByte : uint32 -> byte
Public Shared Function ToByte (value As UInteger) As Byte

Parameter

value
UInt32 UInt32 UInt32 UInt32

Die zu konvertierende 32-Bit-Ganzzahl ohne Vorzeichen.The 32-bit unsigned integer to convert.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die value entspricht.An 8-bit unsigned integer that is equivalent to value.

Ausnahmen

Beispiele

Im folgenden Beispiel wird ein Array von Ganzzahlen ohne Vorzeichen in Byte -Werte konvertiert.The following example converts an array of unsigned integers to Byte values.

uint[] numbers = { UInt32.MinValue, 121, 340, UInt32.MaxValue };
byte result;
foreach (uint number in numbers)
{
   try {
      result = Convert.ToByte(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 Byte type.", 
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//       Converted the UInt32 value 0 to the Byte value 0.
//       Converted the UInt32 value 121 to the Byte value 121.
//       The UInt32 value 340 is outside the range of the Byte type.
//       The UInt32 value 4294967295 is outside the range of the Byte type.
Dim numbers() As UInteger = { UInt32.MinValue, 121, 340, UInt32.MaxValue }
Dim result As Byte
For Each number As UInteger In numbers
   Try
      result = Convert.ToByte(number)
      Console.WriteLIne("Converted the {0} value {1} to the {2} value {3}.", _
                        number.GetType().Name, number, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Byte type.", _
                        number.GetType().Name, number)
   End Try
Next
' The example displays the following output:
'       Converted the UInt32 value 0 to the Byte value 0.
'       Converted the UInt32 value 121 to the Byte value 121.
'       The UInt32 value 340 is outside the range of the Byte type.
'       The UInt32 value 4294967295 is outside the range of the Byte type.

ToByte(String, Int32) ToByte(String, Int32) ToByte(String, Int32) ToByte(String, Int32)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einer angegebenen Basis in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the string representation of a number in a specified base to an equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(System::String ^ value, int fromBase);
public static byte ToByte (string value, int fromBase);
static member ToByte : string * int -> byte
Public Shared Function ToByte (value As String, fromBase As Integer) As Byte

Parameter

value
String String String String

Eine Zeichenfolge, die die zu konvertierende Zahl enthält.A string that contains the number to convert.

fromBase
Int32 Int32 Int32 Int32

Die Basis der Zahl in value, die 2, 8, 10 oder 16 sein muss.The base of the number in value, which must be 2, 8, 10, or 16.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die der Zahl in value entspricht, oder 0 (null), wenn value gleich null ist.An 8-bit unsigned integer that is equivalent to the number in value, or 0 (zero) if value is null.

Ausnahmen

fromBase ist nicht 2, 8, 10 oder 16.fromBase is not 2, 8, 10, or 16.

- oder --or- value, der eine nicht zur Basis 10 gehörende Zahl ohne Vorzeichen darstellt, weist ein negatives Vorzeichen als Präfix auf.value, which represents a non-base 10 unsigned number, is prefixed with a negative sign.

value enthält ein Zeichen, das in der von fromBase angegebenen Basis keine gültige Ziffer ist.value contains a character that is not a valid digit in the base specified by fromBase. Die Ausnahmemeldung gibt an, dass keine zu konvertierenden Ziffern vorhanden sind, wenn das erste Zeichen in value ungültig ist. Andernfalls gibt die Meldung an, dass value ungültige nachfolgende Zeichen enthält.The exception message indicates that there are no digits to convert if the first character in value is invalid; otherwise, the message indicates that value contains invalid trailing characters.

value, der eine Zahl ohne Vorzeichen angibt, die die Basis 10 hat, hat ein negatives Vorzeichen als Präfix.value, which represents a base 10 unsigned number, is prefixed with a negative sign.

- oder --or- value stellt eine Zahl dar, die kleiner als MinValue oder größer als MaxValue ist.value represents a number that is less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird abwechselnd versucht, ein Array von Zeichen folgen als Darstellung von binären, oktalen, Dezimal-und hexadezimal Werten zu interpretieren.The following example alternately attempts to interpret an array of strings as the representation of binary, octal, decimal, and hexadecimal values.

using System;

public class Example
{
   public static void Main()
   {
      int[] bases = { 2, 8, 10, 16 };
      string[] values = { "-1", "1", "08", "0F", "11" , "12", "30",                
                          "101", "255", "FF", "10000000", "80" };
      byte number;
      foreach (int numBase in bases)
      {
         Console.WriteLine("Base {0}:", numBase);
         foreach (string value in values)
         {
            try {
               number = Convert.ToByte(value, numBase);
               Console.WriteLine("   Converted '{0}' to {1}.", value, number);
            }   
            catch (FormatException) {
               Console.WriteLine("   '{0}' is not in the correct format for a base {1} byte value.", 
                                 value, numBase);
            }                     
            catch (OverflowException) {
               Console.WriteLine("   '{0}' is outside the range of the Byte type.", value);
            }   
            catch (ArgumentException) {
               Console.WriteLine("   '{0}' is invalid in base {1}.", value, numBase);
            }
         }                                 
      } 
   }
}
// The example displays the following output:
//    Base 2:
//       '-1' is invalid in base 2.
//       Converted '1' to 1.
//       '08' is not in the correct format for a base 2 conversion.
//       '0F' is not in the correct format for a base 2 conversion.
//       Converted '11' to 3.
//       '12' is not in the correct format for a base 2 conversion.
//       '30' is not in the correct format for a base 2 conversion.
//       Converted '101' to 5.
//       '255' is not in the correct format for a base 2 conversion.
//       'FF' is not in the correct format for a base 2 conversion.
//       Converted '10000000' to 128.
//       '80' is not in the correct format for a base 2 conversion.
//    Base 8:
//       '-1' is invalid in base 8.
//       Converted '1' to 1.
//       '08' is not in the correct format for a base 8 conversion.
//       '0F' is not in the correct format for a base 8 conversion.
//       Converted '11' to 9.
//       Converted '12' to 10.
//       Converted '30' to 24.
//       Converted '101' to 65.
//       Converted '255' to 173.
//       'FF' is not in the correct format for a base 8 conversion.
//       '10000000' is outside the range of the Byte type.
//       '80' is not in the correct format for a base 8 conversion.
//    Base 10:
//       '-1' is outside the range of the Byte type.
//       Converted '1' to 1.
//       Converted '08' to 8.
//       '0F' is not in the correct format for a base 10 conversion.
//       Converted '11' to 11.
//       Converted '12' to 12.
//       Converted '30' to 30.
//       Converted '101' to 101.
//       Converted '255' to 255.
//       'FF' is not in the correct format for a base 10 conversion.
//       '10000000' is outside the range of the Byte type.
//       Converted '80' to 80.
//    Base 16:
//       '-1' is invalid in base 16.
//       Converted '1' to 1.
//       Converted '08' to 8.
//       Converted '0F' to 15.
//       Converted '11' to 17.
//       Converted '12' to 18.
//       Converted '30' to 48.
//       '101' is outside the range of the Byte type.
//       '255' is outside the range of the Byte type.
//       Converted 'FF' to 255.
//       '10000000' is outside the range of the Byte type.
//       Converted '80' to 128.
Module Example
   Public Sub Main()
      Dim bases() As Integer = { 2, 8, 10, 16 }
      Dim values() As String = { "-1", "1", "08", "0F", "11" , "12", "30", _                
                                  "101", "255", "FF", "10000000", "80" }
      Dim number As Byte
      For Each base As Integer In bases
         Console.WriteLine("Base {0}:", base)
         For Each value As String In values
            Try
               number = Convert.ToByte(value, base)
               Console.WriteLine("   Converted '{0}' to {1}.", value, number)
            Catch e As FormatException
               Console.WriteLine("   '{0}' is not in the correct format for a base {1} conversion.", _
                                 value, base)
            Catch e As OverflowException
               Console.WriteLine("   '{0}' is outside the range of the Byte type.", value)
            Catch e As ArgumentException
               Console.WriteLine("   '{0}' is invalid in base {1}.", value, base)
            End Try   
         Next                                 
      Next 
   End Sub
End Module
' The example displays the following output:
'    Base 2:
'       '-1' is invalid in base 2.
'       Converted '1' to 1.
'       '08' is not in the correct format for a base 2 conversion.
'       '0F' is not in the correct format for a base 2 conversion.
'       Converted '11' to 3.
'       '12' is not in the correct format for a base 2 conversion.
'       '30' is not in the correct format for a base 2 conversion.
'       Converted '101' to 5.
'       '255' is not in the correct format for a base 2 conversion.
'       'FF' is not in the correct format for a base 2 conversion.
'       Converted '10000000' to 128.
'       '80' is not in the correct format for a base 2 conversion.
'    Base 8:
'       '-1' is invalid in base 8.
'       Converted '1' to 1.
'       '08' is not in the correct format for a base 8 conversion.
'       '0F' is not in the correct format for a base 8 conversion.
'       Converted '11' to 9.
'       Converted '12' to 10.
'       Converted '30' to 24.
'       Converted '101' to 65.
'       Converted '255' to 173.
'       'FF' is not in the correct format for a base 8 conversion.
'       '10000000' is outside the range of the Byte type.
'       '80' is not in the correct format for a base 8 conversion.
'    Base 10:
'       '-1' is outside the range of the Byte type.
'       Converted '1' to 1.
'       Converted '08' to 8.
'       '0F' is not in the correct format for a base 10 conversion.
'       Converted '11' to 11.
'       Converted '12' to 12.
'       Converted '30' to 30.
'       Converted '101' to 101.
'       Converted '255' to 255.
'       'FF' is not in the correct format for a base 10 conversion.
'       '10000000' is outside the range of the Byte type.
'       Converted '80' to 80.
'    Base 16:
'       '-1' is invalid in base 16.
'       Converted '1' to 1.
'       Converted '08' to 8.
'       Converted '0F' to 15.
'       Converted '11' to 17.
'       Converted '12' to 18.
'       Converted '30' to 48.
'       '101' is outside the range of the Byte type.
'       '255' is outside the range of the Byte type.
'       Converted 'FF' to 255.
'       '10000000' is outside the range of the Byte type.
'       Converted '80' to 128.

Hinweise

Wenn fromBase 16 ist, können Sie die Zahl, die durch den value -Parameter angegeben wird, mit "0x" oder "0x" als Präfix versehen.If fromBase is 16, you can prefix the number specified by the value parameter with "0x" or "0X".

Da der Byte -Datentyp nur Werte ohne Vorzeichen unterstützt ToByte(String, Int32) , wird von value der-Methode angenommen, dass mit der unsignierten binären Darstellung ausgedrückt wird.Because the Byte data type supports unsigned values only, the ToByte(String, Int32) method assumes that value is expressed using unsigned binary representation. Mit anderen Worten, alle acht Bits werden zur Darstellung des numerischen Werts verwendet, und ein Vorzeichen-Bit ist nicht vorhanden.In other words, all eight bits are used to represent the numeric value, and a sign bit is absent. Folglich ist es möglich, Code zu schreiben, in dem ein Byte-Wert mit Vorzeichen, der außerhalb des Bereichs des Byte -Datentyps liegt, in einen Byte -Wert konvertiert wird, ohne dass die-Methode eine Ausnahme auslöst.As a result, it is possible to write code in which a signed byte value that is out of the range of the Byte data type is converted to a Byte value without the method throwing an exception. Im folgenden Beispiel wird MinValue in die hexadezimale Zeichen folgen Darstellung konvertiert, und ToByte(String, Int32) dann wird die-Methode aufgerufen.The following example converts MinValue to its hexadecimal string representation, and then calls the ToByte(String, Int32) method. Anstatt eine Ausnahme auszulösen, zeigt die Methode die Meldung "0x80 konvertiert in 128" an.Instead of throwing an exception, the method displays the message, "0x80 converts to 128."

// Create a hexadecimal value out of range of the Byte type.
string value = SByte.MinValue.ToString("X");
// Convert it back to a number.
try
{
   byte number = Convert.ToByte(value, 16);
   Console.WriteLine("0x{0} converts to {1}.", value, number);
}   
catch (OverflowException)
{
   Console.WriteLine("Unable to convert '0x{0}' to a byte.", value);
}   
' Create a hexadecimal value out of range of the Byte type.
Dim value As String = SByte.MinValue.ToString("X")
' Convert it back to a number.
Try
   Dim number As Byte = Convert.ToByte(value, 16)
   Console.WriteLine("0x{0} converts to {1}.", value, number)
Catch e As OverflowException
   Console.WriteLine("Unable to convert '0x{0}' to a byte.", value)
End Try   

Beim Durchfü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.When performing binary operations or numeric conversions, it is always the responsibility of the developer to verify that a method or operator is using the appropriate numeric representation to interpret a particular value. Im folgenden Beispiel wird eine Technik veranschaulicht, um sicherzustellen, dass die-Methode die nicht signierte binäre Darstellung nicht in angemessener Weise verwendet, wenn Sie eine Byte hexadezimale Zeichen folgen Darstellung in einen-Wert konvertiert.The following example illustrates one technique for ensuring that the method does not inappropriately use unsigned binary representation when it converts a hexadecimal string representation to a Byte value. Das Beispiel bestimmt, ob ein-Wert eine ganze Zahl mit oder ohne Vorzeichen darstellt, während er diesen Wert in seine Zeichen folgen Darstellung umwandelt.The example determines whether a value represents a signed or an unsigned integer while it is converting that value to its string representation. Wenn der Wert im Beispiel wieder in einen Byte -Wert konvertiert wird, wird überprüft, ob der ursprüngliche Wert eine ganze Zahl mit Vorzeichen war.When the example converts the value back to a Byte value, it checks whether the original value was a signed integer. Wenn dies der Fall ist, und wenn das höchst wertige Bit festgelegt ist (was darauf hinweist, dass der Wert negativ ist, und dass es das zwei Komplement anstelle der nicht signierten binären Darstellung verwendet), löst die Methode eine Ausnahme aus.If so, and if its high-order bit is set (which indicates that the value is negative and that it uses two's complement instead of unsigned binary representation), the method throws an exception.

// Create a negative hexadecimal value out of range of the Byte type.
sbyte sourceNumber = SByte.MinValue;
bool isSigned = Math.Sign((sbyte)sourceNumber.GetType().GetField("MinValue").GetValue(null)) == -1;
string value = sourceNumber.ToString("X");
byte targetNumber;
try
{
   targetNumber = Convert.ToByte(value, 16);
   if (isSigned && ((targetNumber & 0x80) != 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 byte.", value);
} 
// Displays the following to the console:
//    Unable to convert '0x80' to an unsigned byte.     
' Create a negative hexadecimal value out of range of the Byte type.
Dim sourceNumber As SByte = SByte.MinValue
Dim isSigned As Boolean = Math.Sign(sourceNumber.MinValue) = -1
Dim value As String = sourceNumber.ToString("X")
Dim targetNumber As Byte
Try
   targetNumber = Convert.ToByte(value, 16)
   If isSigned And ((targetNumber And &H80) <> 0) Then
      Throw New OverflowException()
   Else 
      Console.WriteLine("0x{0} converts to {1}.", value, targetNumber)
   End If    
Catch e As OverflowException
   Console.WriteLine("Unable to convert '0x{0}' to an unsigned byte.", value)
End Try 
' Displays the following to the console:
'    Unable to convert '0x80' to an unsigned byte.     

ToByte(Object, IFormatProvider) ToByte(Object, IFormatProvider) ToByte(Object, IFormatProvider) ToByte(Object, IFormatProvider)

Konvertiert den Wert des angegebenen Objekts unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in eine 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified object to an 8-bit unsigned integer, using the specified culture-specific formatting information.

public:
 static System::Byte ToByte(System::Object ^ value, IFormatProvider ^ provider);
public static byte ToByte (object value, IFormatProvider provider);
static member ToByte : obj * IFormatProvider -> byte
Public Shared Function ToByte (value As Object, provider As IFormatProvider) As Byte

Parameter

value
Object Object Object Object

Ein Objekt, das die IConvertible-Schnittstelle implementiert.An object that implements the IConvertible interface.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.An object that supplies culture-specific formatting information.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die value entspricht, oder 0 (null), wenn value gleich null ist.An 8-bit unsigned integer that is equivalent to value, or zero if value is null.

Ausnahmen

value weist nicht das Eigenschaftenformat für einen Byte-Wert auf.value is not in the property format for a Byte value.

value implementiert nicht IConvertible.value does not implement IConvertible.

- oder --or- Die Konvertierung von value in den Byte-Typ wird nicht unterstützt.Conversion from value to the Byte type is not supported.

value stellt eine Zahl dar, die kleiner als MinValue oder größer als MaxValue ist.value represents a number that is less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird eine ByteString -Klasse definiert, die die IConvertible -Schnittstelle implementiert.The following example defines a ByteString class that implements the IConvertible interface. Die-Klasse speichert die Zeichen folgen Darstellung eines Bytewerts zusammen mit einem Vorzeichen Feld, damit Sie sowohl signierte als auch nicht signierte Byte Werte darstellen kann.The class stores the string representation of a byte value along with a sign field, so that it is able to represent both signed and unsigned byte values.

using System;
using System.Globalization;

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

public struct ByteString : IConvertible
{
   private SignBit signBit;
   private string byteString;
   
   public SignBit Sign
   { 
      set { signBit = value; }
      get { return signBit; }
   }

   public string Value
   { 
      set {
         if (value.Trim().Length > 2)
            throw new ArgumentException("The string representation of a byte cannot have more than two characters.");
         else
            byteString = value;
      }
      get { return byteString; }
   }
   
   // IConvertible implementations.
   public TypeCode GetTypeCode() {
      return TypeCode.Object;
   }
   
   public bool ToBoolean(IFormatProvider provider)
   {
      if (signBit == SignBit.Zero)
         return false;
      else
         return true;
   } 
   
   public byte ToByte(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is out of range of the Byte type.", Convert.ToSByte(byteString, 16)));
      else
         return Byte.Parse(byteString, NumberStyles.HexNumber);
   }
   
   public char ToChar(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative) { 
         throw new OverflowException(String.Format("{0} is out of range of the Char type.", Convert.ToSByte(byteString, 16)));
      }
      else {
         byte byteValue = Byte.Parse(this.byteString, NumberStyles.HexNumber);
         return Convert.ToChar(byteValue);
      }                
   } 
   
   public DateTime ToDateTime(IFormatProvider provider)
   {
      throw new InvalidCastException("ByteString to DateTime conversion is not supported.");
   }
   
   public decimal ToDecimal(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative) 
      {
         sbyte byteValue = SByte.Parse(byteString, NumberStyles.HexNumber);
         return Convert.ToDecimal(byteValue);
      }
      else 
      {
         byte byteValue = Byte.Parse(byteString, NumberStyles.HexNumber);
         return Convert.ToDecimal(byteValue);
      }
   }
   
   public double ToDouble(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         return Convert.ToDouble(SByte.Parse(byteString, NumberStyles.HexNumber));
      else
         return Convert.ToDouble(Byte.Parse(byteString, NumberStyles.HexNumber));
   }   
   
   public short ToInt16(IFormatProvider provider) 
   {
      if (signBit == SignBit.Negative)
         return Convert.ToInt16(SByte.Parse(byteString, NumberStyles.HexNumber));
      else
         return Convert.ToInt16(Byte.Parse(byteString, NumberStyles.HexNumber));
   }
   
   public int ToInt32(IFormatProvider provider) 
   {
      if (signBit == SignBit.Negative)
         return Convert.ToInt32(SByte.Parse(byteString, NumberStyles.HexNumber));
      else
         return Convert.ToInt32(Byte.Parse(byteString, NumberStyles.HexNumber));
   }
   
   public long ToInt64(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         return Convert.ToInt64(SByte.Parse(byteString, NumberStyles.HexNumber));
      else
         return Convert.ToInt64(Byte.Parse(byteString, NumberStyles.HexNumber));
   }
   
   public sbyte ToSByte(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         try {
            return Convert.ToSByte(Byte.Parse(byteString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is outside the range of the SByte type.", 
                                                   Byte.Parse(byteString, NumberStyles.HexNumber)), e);
         }
      else   
         return SByte.Parse(byteString, NumberStyles.HexNumber);
   }

   public float ToSingle(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         return Convert.ToSingle(SByte.Parse(byteString, NumberStyles.HexNumber));
      else
         return Convert.ToSingle(Byte.Parse(byteString, NumberStyles.HexNumber));
   }

   public string ToString(IFormatProvider provider)
   {
      return "0x" + this.byteString;
   }
   
   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(ByteString).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 UInt16 ToUInt16(IFormatProvider provider) 
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is outside the range of the UInt16 type.", 
                                                   SByte.Parse(byteString, NumberStyles.HexNumber)));
      else
         return Convert.ToUInt16(Byte.Parse(byteString, NumberStyles.HexNumber));
   }

   public UInt32 ToUInt32(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is outside the range of the UInt32 type.", 
                                                   SByte.Parse(byteString, NumberStyles.HexNumber)));
      else
         return Convert.ToUInt32(Byte.Parse(byteString, NumberStyles.HexNumber));
   }
   
   public UInt64 ToUInt64(IFormatProvider provider) 
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is outside the range of the UInt64 type.", 
                                                   SByte.Parse(byteString, NumberStyles.HexNumber)));
      else
         return Convert.ToUInt64(Byte.Parse(byteString, NumberStyles.HexNumber));
   }
}
Imports System.Globalization

Public Enum SignBit As Integer
   Positive = 1
   Zero = 0
   Negative = -1
End Enum

Public Structure ByteString : Implements IConvertible
   Private signBit As SignBit
   Private byteString As String
   
   Public Property Sign As SignBit
      Set
         signBit = value
      End Set
      Get
         Return signBit
      End Get
   End Property
   
   Public Property Value As String
      Set
         If value.Trim().Length > 2 Then
            Throw New ArgumentException("The string representation of a byte cannot have more than two characters.")
         Else
            byteString = value
         End If   
      End Set
      Get
         Return byteString
      End Get
   End Property
   
   ' IConvertible implementations.
   Public Function GetTypeCode() As TypeCode _
                   Implements IConvertible.GetTypeCode
      Return TypeCode.Object
   End Function
   
   Public Function ToBoolean(provider As IFormatProvider) As Boolean _
                   Implements IConvertible.ToBoolean
      If signBit = SignBit.Zero Then
         Return False
      Else
         Return True
      End If
   End Function 
   
   Public Function ToByte(provider As IFormatProvider) As Byte _
                   Implements IConvertible.ToByte
      If signBit = signBit.Negative Then
         Throw New OverflowException(String.Format("{0} is out of range of the Byte type.", Convert.ToSByte(byteString, 16))) 
      Else
         Return Byte.Parse(byteString, NumberStyles.HexNumber)
      End If       
   End Function
   
   Public Function ToChar(provider As IFormatProvider) As Char _
                   Implements IConvertible.ToChar
      If signBit = signBit.Negative Then 
         Throw New OverflowException(String.Format("{0} is out of range of the Char type.", Convert.ToSByte(byteString, 16)))
      Else
         Dim byteValue As Byte = Byte.Parse(Me.byteString, NumberStyles.HexNumber)
         Return Convert.ToChar(byteValue)
      End If                
   End Function 
   
   Public Function ToDateTime(provider As IFormatProvider) As Date _
                   Implements IConvertible.ToDateTime
      Throw New InvalidCastException("ByteString to DateTime conversion is not supported.")
   End Function
   
   Public Function ToDecimal(provider As IFormatProvider) As Decimal _
                   Implements IConvertible.ToDecimal
      If signBit = signBit.Negative Then
         Dim byteValue As SByte = SByte.Parse(byteString, NumberStyles.HexNumber)
         Return Convert.ToDecimal(byteValue)
      Else
         Dim byteValue As Byte = Byte.Parse(byteString, NumberStyles.HexNumber)
         Return Convert.ToDecimal(byteValue)
      End If
   End Function
   
   Public Function ToDouble(provider As IFormatProvider) As Double _
                   Implements IConvertible.ToDouble
      If signBit = signBit.Negative Then
         Return Convert.ToDouble(SByte.Parse(byteString, NumberStyles.HexNumber))
      Else
         Return Convert.ToDouble(Byte.Parse(byteString, NumberStyles.HexNumber))
      End If   
   End Function   
   
   Public Function ToInt16(provider As IFormatProvider) As Int16 _
                   Implements IConvertible.ToInt16
      If signBit = signBit.Negative Then
         Return Convert.ToInt16(SByte.Parse(byteString, NumberStyles.HexNumber))
      Else
         Return Convert.ToInt16(Byte.Parse(byteString, NumberStyles.HexNumber))
      End If   
   End Function
   
   Public Function ToInt32(provider As IFormatProvider) As Int32 _
                   Implements IConvertible.ToInt32
      If signBit = signBit.Negative Then
         Return Convert.ToInt32(SByte.Parse(byteString, NumberStyles.HexNumber))
      Else
         Return Convert.ToInt32(Byte.Parse(byteString, NumberStyles.HexNumber))
      End If   
   End Function
   
   Public Function ToInt64(provider As IFormatProvider) As Int64 _
                   Implements IConvertible.ToInt64
      If signBit = signBit.Negative Then
         Return Convert.ToInt64(SByte.Parse(byteString, NumberStyles.HexNumber))
      Else
         Return Convert.ToInt64(Byte.Parse(byteString, NumberStyles.HexNumber))
      End If   
   End Function
   
   Public Function ToSByte(provider As IFormatProvider) As SByte _
                   Implements IConvertible.ToSByte
      If signBit = SignBit.Positive Then
         Try
            Return Convert.ToSByte(Byte.Parse(byteString, NumberStyles.HexNumber))
         Catch e As OverflowException
            Throw New OverflowException(String.Format("{0} is outside the range of the SByte type.", _
                                                   Byte.Parse(byteString, NumberStyles.HexNumber)), e)   
         End Try
      Else
         Return SByte.Parse(byteString, NumberStyles.HexNumber)
      End If
   End Function

   Public Function ToSingle(provider As IFormatProvider) As Single _
                   Implements IConvertible.ToSingle
      If signBit = signBit.Negative Then
         Return Convert.ToSingle(SByte.Parse(byteString, NumberStyles.HexNumber))
      Else
         Return Convert.ToSingle(Byte.Parse(byteString, NumberStyles.HexNumber))
      End If   
   End Function

   Public Overloads Function ToString(provider As IFormatProvider) As String _
                   Implements IConvertible.ToString
      Return Me.byteString
   End Function
   
   Public Function ToType(conversionType As Type, provider As IFormatProvider) As Object _
                   Implements IConvertible.ToType
      Select Case Type.GetTypeCode(conversionType)
         Case TypeCode.Boolean 
            Return Me.ToBoolean(Nothing)
         Case TypeCode.Byte
            Return Me.ToByte(Nothing)
         Case TypeCode.Char
            Return Me.ToChar(Nothing)
         Case TypeCode.DateTime
            Return Me.ToDateTime(Nothing)
         Case TypeCode.Decimal
            Return Me.ToDecimal(Nothing)
         Case TypeCode.Double
            Return Me.ToDouble(Nothing)
         Case TypeCode.Int16
            Return Me.ToInt16(Nothing)
         Case TypeCode.Int32
            Return Me.ToInt32(Nothing)
         Case TypeCode.Int64
            Return Me.ToInt64(Nothing)
         Case TypeCode.Object
            If GetType(ByteString).Equals(conversionType) Then
               Return Me
            Else
               Throw New InvalidCastException(String.Format("Conversion to a {0} is not supported.", conversionType.Name))
            End If 
         Case TypeCode.SByte
            Return Me.ToSByte(Nothing)
         Case TypeCode.Single
            Return Me.ToSingle(Nothing)
         Case TypeCode.String
            Return Me.ToString(Nothing)
         Case TypeCode.UInt16
            Return Me.ToUInt16(Nothing)
         Case TypeCode.UInt32
            Return Me.ToUInt32(Nothing)
         Case TypeCode.UInt64
            Return Me.ToUInt64(Nothing)   
         Case Else
            Throw New InvalidCastException(String.Format("Conversion to {0} is not supported.", conversionType.Name))   
            
      End Select
   End Function
   
   Public Function ToUInt16(provider As IFormatProvider) As UInt16 _
                   Implements IConvertible.ToUInt16
      If signBit = signBit.Negative Then
         Throw New OverflowException(String.Format("{0} is outside the range of the UInt16 type.", _
                                                   SByte.Parse(byteString, NumberStyles.HexNumber)))
      Else
         Return Convert.ToUInt16(Byte.Parse(byteString, NumberStyles.HexNumber))
      End If   
   End Function

   Public Function ToUInt32(provider As IFormatProvider) As UInt32 _
                   Implements IConvertible.ToUInt32
      If signBit = signBit.Negative Then
         Throw New OverflowException(String.Format("{0} is outside the range of the UInt32 type.", _
                                                   SByte.Parse(byteString, NumberStyles.HexNumber)))
      Else
         Return Convert.ToUInt32(Byte.Parse(byteString, NumberStyles.HexNumber))
      End If   
   End Function
   
   Public Function ToUInt64(provider As IFormatProvider) As UInt64 _
                   Implements IConvertible.ToUInt64
      If signBit = signBit.Negative Then
         Throw New OverflowException(String.Format("{0} is outside the range of the UInt64 type.", _
                                                   SByte.Parse(byteString, NumberStyles.HexNumber)))
      Else
         Return Convert.ToUInt64(Byte.Parse(byteString, NumberStyles.HexNumber))
      End If   
   End Function
   
End Structure

Im folgenden Beispiel werden mehrere ByteString -Objekte instanziiert und die ToByte(Object, IFormatProvider) -Methode aufgerufen, um Sie in Bytewerte zu konvertieren.The following example instantiates several ByteString objects and calls the ToByte(Object, IFormatProvider) method to convert them to byte values. Es veranschaulicht, dass ToByte(Object, IFormatProvider) die-Methode einen aufzurufenden IConvertible.ToByte -Methode des Objekts umschließt, das konvertiert werden soll.It illustrates that the ToByte(Object, IFormatProvider) method wraps a call to the IConvertible.ToByte method of the object to be converted.

public class Class1
{
   public static void Main()
   {
      byte positiveByte = 216;
      sbyte negativeByte = -101;
      
      
      ByteString positiveString = new ByteString();
      positiveString.Sign = (SignBit) Math.Sign(positiveByte);
      positiveString.Value = positiveByte.ToString("X2");
      
      ByteString negativeString = new ByteString();
      negativeString.Sign = (SignBit) Math.Sign(negativeByte);
      negativeString.Value = negativeByte.ToString("X2");
      
      try {
         Console.WriteLine("'{0}' converts to {1}.", positiveString.Value, Convert.ToByte(positiveString));
      }
      catch (OverflowException) {
         Console.WriteLine("0x{0} is outside the range of the Byte type.", positiveString.Value);
      }

      try {
         Console.WriteLine("'{0}' converts to {1}.", negativeString.Value, Convert.ToByte(negativeString));
      }
      catch (OverflowException) {
         Console.WriteLine("0x{0} is outside the range of the Byte type.", negativeString.Value);
      }   
   }
}
// The example displays the following output:
//       'D8' converts to 216.
//       0x9B is outside the range of the Byte type.
Module modMain
   Public Sub Main()
      Dim positiveByte As Byte = 216
      Dim negativeByte As SByte = -101
      
      
      Dim positiveString As New ByteString()
      positiveString.Sign = CType(Math.Sign(positiveByte), SignBit)
      positiveString.Value = positiveByte.ToString("X2")
      
      Dim negativeString As New ByteString()
      negativeString.Sign = CType(Math.Sign(negativeByte), SignBit)
      negativeString.Value = negativeByte.ToString("X2")
      
      Try
         Console.WriteLine("'{0}' converts to {1}.", positiveString.Value, Convert.ToByte(positiveString))
      Catch e As OverflowException
         Console.WriteLine("0x{0} is outside the range of the Byte type.", positiveString.Value)
      End Try

      Try
         Console.WriteLine("'{0}' converts to {1}.", negativeString.Value, Convert.ToByte(negativeString))
      Catch e As OverflowException
         Console.WriteLine("0x{0} is outside the range of the Byte type.", negativeString.Value)
      End Try   
   End Sub
End Module
' The example dosplays the following output:
'       'D8' converts to 216.
'       0x9B is outside the range of the Byte type.

Hinweise

providerermöglicht es dem Benutzer, kulturspezifische Konvertierungs Informationen zum Inhalt von valueanzugeben.provider enables the user to specify culture-specific conversion information about the contents of value. Die Basis Typen werden providerignoriert. der-Parameter kann jedoch verwendet werden value , wenn ein benutzerdefinierter Typ ist, der IConvertible die-Schnittstelle implementiert.The base types ignore provider; however, the parameter may be used if value is a user-defined type that implements the IConvertible interface.

ToByte(String, IFormatProvider) ToByte(String, IFormatProvider) ToByte(String, IFormatProvider) ToByte(String, IFormatProvider)

Konvertiert die angegebene Zeichenfolgendarstellung einer Zahl unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the specified string representation of a number to an equivalent 8-bit unsigned integer, using specified culture-specific formatting information.

public:
 static System::Byte ToByte(System::String ^ value, IFormatProvider ^ provider);
public static byte ToByte (string value, IFormatProvider provider);
static member ToByte : string * IFormatProvider -> byte
Public Shared Function ToByte (value As String, provider As IFormatProvider) As Byte

Parameter

value
String String String String

Eine Zeichenfolge, die die zu konvertierende Zahl enthält.A string that contains the number to convert.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.An object that supplies culture-specific formatting information.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die value entspricht, oder 0 (null), wenn value gleich null ist.An 8-bit unsigned integer that is equivalent to value, or zero if value is null.

Ausnahmen

value besteht nicht aus einem optionalen Vorzeichen und einer Folge von Ziffern (0 bis 9).value does not consist of an optional sign followed by a sequence of digits (0 through 9).

value stellt eine Zahl dar, die kleiner als MinValue oder größer als MaxValue ist.value represents a number that is less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird ein Benutzer NumberFormatInfo definiertes-Objekt erstellt, das das positive Zeichen als "POS" und das negative Vorzeichen als "NETg" definiert, das in ToByte(String, IFormatProvider) Aufrufen der-Methode verwendet wird.The following example creates a custom NumberFormatInfo object that defines the positive sign as "pos" and the negative sign as "neg", which it uses in calls to the ToByte(String, IFormatProvider) method. Anschließend wird die ToByte(String, IFormatProvider) -Methode wiederholt aufgerufen, um jedes Element in einem Zeichen folgen Byte Array in einen-Wert zu konvertieren.It then calls the ToByte(String, IFormatProvider) method repeatedly to convert each element in a string array to a Byte value.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // Create a NumberFormatInfo object and set several of its
      // properties that apply to unsigned bytes.
      NumberFormatInfo provider = new NumberFormatInfo();

      // These properties affect the conversion.
      provider.PositiveSign = "pos ";
      provider.NegativeSign = "neg ";

      // This property does not affect the conversion.
      // The input string cannot have a decimal separator.
      provider.NumberDecimalSeparator = ".";
      
      // Define an array of numeric strings.
      string[] numericStrings = { "234", "+234", "pos 234", "234.", "255", 
                                  "256", "-1" };

      foreach (string numericString in numericStrings)
      {
         Console.Write("'{0,-8}' ->   ", numericString);
         try {
            byte number = Convert.ToByte(numericString, provider);
            Console.WriteLine(number);
         }   
         catch (FormatException) {
            Console.WriteLine("Incorrect Format");
         }                             
         catch (OverflowException) {
            Console.WriteLine("Overflows a Byte");
         }   
      }
   }
}
// The example displays the following output:
//       '234     ' ->   234
//       '+234    ' ->   Incorrect Format
//       'pos 234 ' ->   234
//       '234.    ' ->   Incorrect Format
//       '255     ' ->   255
//       '256     ' ->   Overflows a Byte
//       '-1      ' ->   Incorrect Format
Imports System.Globalization

Module Example
   Public Sub Main()
      ' Create a NumberFormatInfo object and set several of its
      ' properties that apply to unsigned bytes.
      Dim provider As New NumberFormatInfo()
      With provider 
         ' These properties affect the conversion.
         .PositiveSign = "pos "
         .NegativeSign = "neg "

         ' This property does not affect the conversion.
         ' The input string cannot have a decimal separator.
         .NumberDecimalSeparator = "."
      End With
      
      ' Define an array of numeric strings.
      Dim numericStrings() As String = { "234", "+234", "pos 234", "234.", _
                                         "255", "256", "-1" }

      For Each numericString As String In numericStrings
         Console.Write("'{0,-8}' ->   ", numericString)
         Try
            Dim number As Byte = Convert.ToByte(numericString, provider)
            Console.WriteLine(number)
         Catch ex As FormatException
            Console.WriteLine("Incorrect Format")                          
         Catch ex As OverflowException
            Console.WriteLine("Overflows a Byte")
         End Try   
      Next
   End Sub   
End Module 
' The example displays the following output:
'       '234     ' ->   234
'       '+234    ' ->   Incorrect Format
'       'pos 234 ' ->   234
'       '234.    ' ->   Incorrect Format
'       '255     ' ->   255
'       '256     ' ->   Overflows a Byte
'       '-1      ' ->   Incorrect Format

Hinweise

providerist eine IFormatProvider -Instanz, die NumberFormatInfo ein-Objekt abruft.provider is an IFormatProvider instance that obtains a NumberFormatInfo object. Das NumberFormatInfo -Objekt stellt kulturspezifische Informationen zum Format von valuebereit.The NumberFormatInfo object provides culture-specific information about the format of value. Wenn providerden Wert NumberFormatInfo hat, wird das-Objekt für die aktuelle Kultur verwendet. nullIf provider is null, the NumberFormatInfo object for the current culture is used.

Wenn eine Ausnahme nicht behandelt werden soll, wenn bei der Konvertierung ein Fehler auftritt, können Byte.TryParse Sie stattdessen die-Methode aufzurufen.If you prefer not to handle an exception if the conversion fails, you can call the Byte.TryParse method instead. Gibt einen Boolean Wert zurück, der angibt, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist.It returns a Boolean value that indicates whether the conversion succeeded or failed.

Siehe auch

ToByte(Single) ToByte(Single) ToByte(Single) ToByte(Single)

Konvertiert den Wert der angegebenen Gleitkommazahl mit einfacher Genauigkeit in die entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified single-precision floating-point number to an equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(float value);
public static byte ToByte (float value);
static member ToByte : single -> byte
Public Shared Function ToByte (value As Single) As Byte

Parameter

value
Single Single Single Single

Eine Gleitkommazahl mit einfacher Genauigkeit.A single-precision floating-point number.

Gibt zurück

value, auf die nächste 8-Bit-Ganzzahl ohne Vorzeichen gerundet.value, rounded to the nearest 8-bit unsigned integer. Wenn value genau zwischen zwei ganzen Zahlen liegt, wird die gerade Zahl zurückgegeben (d. h. 4,5 wird in 4 und 5,5 in 6 konvertiert).If value is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6.

Ausnahmen

value ist größer als MaxValue oder kleiner als MinValue.value is greater than MaxValue or less than MinValue.

Beispiele

Im folgenden Beispiel wird ein Single -Wert in Byteeinen-Wert konvertiert.The following example converts a Single value to a Byte.

public:
   void ConvertByteSingle( Byte byteVal )
   {
      float floatVal;
      
      // Byte to float conversion will not overflow.
      floatVal = System::Convert::ToSingle( byteVal );
      System::Console::WriteLine( "The Byte as a float is {0}.",
         floatVal );
      
      // Float to Byte conversion can overflow.
      try
      {
         byteVal = System::Convert::ToByte( floatVal );
         System::Console::WriteLine( "The float as a Byte is {0}.",
         byteVal );
      }
      catch ( System::OverflowException^ ) 
      {
         System::Console::WriteLine(
            "The float value is too large for a Byte." );
      }
   }
public void ConvertByteSingle(byte byteVal) {
	float floatVal;

	// Byte to float conversion will not overflow.
	floatVal = System.Convert.ToSingle(byteVal);
	System.Console.WriteLine("The byte as a float is {0}.",
		floatVal);

	// Float to byte conversion can overflow.
	try {
		byteVal = System.Convert.ToByte(floatVal);
		System.Console.WriteLine("The float as a byte is {0}.",
			byteVal);
	}
	catch (System.OverflowException) {
		System.Console.WriteLine(
			"The float value is too large for a byte.");
	}
}
Public Sub ConvertByteSingle(ByVal byteVal As Byte)
    Dim singleVal As Single

    ' Byte to float conversion will not overflow.
    singleVal = System.Convert.ToSingle(byteVal)
    System.Console.WriteLine("The byte as a single is {0}.", _
                              singleVal)

    ' Single to byte conversion can overflow.
    Try
        byteVal = System.Convert.ToByte(singleVal)
        System.Console.WriteLine("The single as a byte is {0}.", _
                                  byteVal)
    Catch exception As System.OverflowException
        System.Console.WriteLine( _
            "Overflow in single-to-byte conversion.")
    End Try
End Sub
Siehe auch

ToByte(UInt64) ToByte(UInt64) ToByte(UInt64) ToByte(UInt64)

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert den Wert der angegebenen 64-Bit-Ganzzahl ohne Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 64-bit unsigned integer to an equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(System::UInt64 value);
[System.CLSCompliant(false)]
public static byte ToByte (ulong value);
static member ToByte : uint64 -> byte
Public Shared Function ToByte (value As ULong) As Byte

Parameter

value
UInt64 UInt64 UInt64 UInt64

Die zu konvertierende 64-Bit-Ganzzahl ohne Vorzeichen.The 64-bit unsigned integer to convert.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die value entspricht.An 8-bit unsigned integer that is equivalent to value.

Ausnahmen

Beispiele

Im folgenden Beispiel wird ein Array von Long-Ganzzahlen ohne Vorzeichen Byte in-Werte konvertiert.The following example converts an array of unsigned long integers to Byte values.

ulong[] numbers= { UInt64.MinValue, 121, 340, UInt64.MaxValue };
byte result;
foreach (ulong number in numbers)
{
   try {
      result = Convert.ToByte(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 Byte type.", 
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//       Converted the UInt64 value 0 to the Byte value 0.
//       Converted the UInt64 value 121 to the Byte value 121.
//       The UInt64 value 340 is outside the range of the Byte type.
//       The UInt64 value 18446744073709551615 is outside the range of the Byte type.
Dim numbers() As ULong = { UInt64.MinValue, 121, 340, UInt64.MaxValue }
Dim result As Byte
For Each number As ULong In numbers
   Try
      result = Convert.ToByte(number)
      Console.WriteLIne("Converted the {0} value {1} to the {2} value {3}.", _
                        number.GetType().Name, number, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Byte type.", _
                        number.GetType().Name, number)
   End Try
Next
' The example displays the following output:
'       Converted the UInt64 value 0 to the Byte value 0.
'       Converted the UInt64 value 121 to the Byte value 121.
'       The UInt64 value 340 is outside the range of the Byte type.
'       The UInt64 value 18446744073709551615 is outside the range of the Byte type.

ToByte(SByte) ToByte(SByte) ToByte(SByte) ToByte(SByte)

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert den Wert der angegebenen 8-Bit-Ganzzahl mit Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 8-bit signed integer to an equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(System::SByte value);
[System.CLSCompliant(false)]
public static byte ToByte (sbyte value);
static member ToByte : sbyte -> byte
Public Shared Function ToByte (value As SByte) As Byte

Parameter

value
SByte SByte SByte SByte

Die zu konvertierende 8-Bit-Ganzzahl mit Vorzeichen.The 8-bit signed integer to be converted.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die value entspricht.An 8-bit unsigned integer that is equivalent to value.

Ausnahmen

Beispiele

Im folgenden Beispiel wird ein Array von SByte -Werten Byte in-Werte konvertiert.The following example converts an array of SByte values to Byte values.

sbyte[] numbers = { SByte.MinValue, -1, 0, 10, SByte.MaxValue };
byte result;
foreach (sbyte number in numbers)
{
   try {
      result = Convert.ToByte(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 Byte type.", 
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//       The SByte value -128 is outside the range of the Byte type.
//       The SByte value -1 is outside the range of the Byte type.
//       Converted the SByte value 0 to the Byte value 0.
//       Converted the SByte value 10 to the Byte value 10.
//       Converted the SByte value 127 to the Byte value 127.
Dim numbers() As SByte = { SByte.MinValue, -1, 0, 10, SByte.MaxValue }
Dim result As Byte
For Each number As SByte In numbers
   Try
      result = Convert.ToByte(number)
      Console.WriteLIne("Converted the {0} value {1} to the {2} value {3}.", _
                        number.GetType().Name, number, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Byte type.", _
                        number.GetType().Name, number)
   End Try
Next
' The example displays the following output:
'       The SByte value -128 is outside the range of the Byte type.
'       The SByte value -1 is outside the range of the Byte type.
'       Converted the SByte value 0 to the Byte value 0.
'       Converted the SByte value 10 to the Byte value 10.
'       Converted the SByte value 127 to the Byte value 127.

ToByte(Double) ToByte(Double) ToByte(Double) ToByte(Double)

Konvertiert den Wert der angegebenen Gleitkommazahl mit doppelter Genauigkeit in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified double-precision floating-point number to an equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(double value);
public static byte ToByte (double value);
static member ToByte : double -> byte
Public Shared Function ToByte (value As Double) As Byte

Parameter

value
Double Double Double Double

Die zu konvertierende Gleitkommazahl mit doppelter Genauigkeit.The double-precision floating-point number to convert.

Gibt zurück

value, auf die nächste 8-Bit-Ganzzahl ohne Vorzeichen gerundet.value, rounded to the nearest 8-bit unsigned integer. Wenn value genau zwischen zwei ganzen Zahlen liegt, wird die gerade Zahl zurückgegeben (d. h. 4,5 wird in 4 und 5,5 in 6 konvertiert).If value is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6.

Ausnahmen

value ist größer als MaxValue oder kleiner als MinValue.value is greater than MaxValue or less than MinValue.

Beispiele

Im folgenden Beispiel wird ein Byte -Wert in Double einen- Double Wert und ein Byte-Wert in eine konvertiert.The following example converts a Byte value to a Double and a Double value to a Byte.

public:
   void ConvertDoubleByte( double doubleVal )
   {
      Byte byteVal = 0;
      
      // Double to Byte conversion can overflow.
      try
      {
         byteVal = System::Convert::ToByte( doubleVal );
         System::Console::WriteLine( " {0} as a Byte is: {1}.",
         doubleVal, byteVal );
      }
      catch ( System::OverflowException^ ) 
      {
         System::Console::WriteLine( "Overflow in double-to-Byte conversion." );
      }
      
      // Byte to double conversion cannot overflow.
      doubleVal = System::Convert::ToDouble( byteVal );
      System::Console::WriteLine( " {0} as a double is: {1}.",
         byteVal, doubleVal );
   }
public void ConvertDoubleByte(double doubleVal) {
	byte	byteVal = 0;

	// Double to byte conversion can overflow.
	try {
		byteVal = System.Convert.ToByte(doubleVal);
		System.Console.WriteLine("{0} as a byte is: {1}.",
			doubleVal, byteVal);
	} 
	catch (System.OverflowException) {
		System.Console.WriteLine(
			"Overflow in double-to-byte conversion.");
	}

	// Byte to double conversion cannot overflow.
	doubleVal = System.Convert.ToDouble(byteVal);
	System.Console.WriteLine("{0} as a double is: {1}.",
		byteVal, doubleVal);
}
Public Sub ConvertDoubleByte(ByVal doubleVal As Double)
    Dim byteVal As Byte = 0

    ' Double to Byte conversion can overflow.
    Try
        byteVal = System.Convert.ToByte(doubleVal)
        System.Console.WriteLine("{0} as a Byte is: {1}.", _
            doubleVal, byteVal)
    Catch exception As System.OverflowException
        System.Console.WriteLine( _
            "Overflow in Double-to-Byte conversion.")
    End Try

    ' Byte to Double conversion cannot overflow.
    doubleVal = System.Convert.ToDouble(byteVal)
    System.Console.WriteLine("{0} as a Double is: {1}.", _
                              byteVal, doubleVal)
End Sub

ToByte(Int64) ToByte(Int64) ToByte(Int64) ToByte(Int64)

Konvertiert den Wert der angegebenen 64-Bit-Ganzzahl mit Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 64-bit signed integer to an equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(long value);
public static byte ToByte (long value);
static member ToByte : int64 -> byte
Public Shared Function ToByte (value As Long) As Byte

Parameter

value
Int64 Int64 Int64 Int64

Die zu konvertierende 64-Bit-Ganzzahl mit Vorzeichen.The 64-bit signed integer to convert.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die value entspricht.An 8-bit unsigned integer that is equivalent to value.

Ausnahmen

value ist kleiner als MinValue oder größer als MaxValue.value is less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird ein Array von Int64 -Werten Byte in-Werte konvertiert.The following example converts an array of Int64 values to Byte values.

long[] numbers = { Int64.MinValue, -1, 0, 121, 340, Int64.MaxValue };
byte result;
foreach (long number in numbers)
{
   try {
      result = Convert.ToByte(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 Byte type.", 
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//       The Int64 value -9223372036854775808 is outside the range of the Byte type.
//       The Int64 value -1 is outside the range of the Byte type.
//       Converted the Int64 value 0 to the Byte value 0.
//       Converted the Int64 value 121 to the Byte value 121.
//       The Int64 value 340 is outside the range of the Byte type.
//       The Int64 value 9223372036854775807 is outside the range of the Byte type.      
Dim numbers() As Long = { Int64.MinValue, -1, 0, 121, 340, Int64.MaxValue }
Dim result As Byte
For Each number As Long In numbers
   Try
      result = Convert.ToByte(number)
      Console.WriteLIne("Converted the {0} value {1} to the {2} value {3}.", _
                        number.GetType().Name, number, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Byte type.", _
                        number.GetType().Name, number)
   End Try
Next
' The example displays the following output:
'       The Int64 value -9223372036854775808 is outside the range of the Byte type.
'       The Int64 value -1 is outside the range of the Byte type.
'       Converted the Int64 value 0 to the Byte value 0.
'       Converted the Int64 value 121 to the Byte value 121.
'       The Int64 value 340 is outside the range of the Byte type.
'       The Int64 value 9223372036854775807 is outside the range of the Byte type.      

ToByte(Byte) ToByte(Byte) ToByte(Byte) ToByte(Byte)

Gibt die angegebene 8-Bit-Ganzzahl ohne Vorzeichen zurück. Es wird keine wirkliche Konvertierung durchgeführt.Returns the specified 8-bit unsigned integer; no actual conversion is performed.

public:
 static System::Byte ToByte(System::Byte value);
public static byte ToByte (byte value);
static member ToByte : byte -> byte
Public Shared Function ToByte (value As Byte) As Byte

Parameter

value
Byte Byte Byte Byte

Die zurückzugebende 8-Bit-Ganzzahl ohne Vorzeichen.The 8-bit unsigned integer to return.

Gibt zurück

value wird unverändert zurückgegeben.value is returned unchanged.

ToByte(Char) ToByte(Char) ToByte(Char) ToByte(Char)

Konvertiert den Wert des angegebenen Unicode-Zeichens in die entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified Unicode character to the equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(char value);
public static byte ToByte (char value);
static member ToByte : char -> byte
Public Shared Function ToByte (value As Char) As Byte

Parameter

value
Char Char Char Char

Das zu konvertierende Unicode-Zeichen.The Unicode character to convert.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die value entspricht.An 8-bit unsigned integer that is equivalent to value.

Ausnahmen

value stellt eine Zahl dar, die größer als MaxValue ist.value represents a number that is greater than MaxValue.

Beispiele

Im folgenden Beispiel wird ein Array von Char -Werten Byte in-Werte konvertiert.The following example converts an array of Char values to Byte values.

char[] chars = { 'a', 'z', '\x0007', '\x03FF' };
foreach (char ch in chars)
{
   try {
      byte result = Convert.ToByte(ch);
      Console.WriteLine("{0} is converted to {1}.", ch, result);
   }   
   catch (OverflowException) {
      Console.WriteLine("Unable to convert u+{0} to a byte.", 
                        Convert.ToInt16(ch).ToString("X4"));
   }
}   
// The example displays the following output:
//       a is converted to 97.
//       z is converted to 122.
//        is converted to 7.
//       Unable to convert u+03FF to a byte.      
Dim chars() As Char = { "a"c, "z"c, ChrW(7), ChrW(1023) }
For Each ch As Char in chars
   Try
      Dim result As Byte = Convert.ToByte(ch)
      Console.WriteLine("{0} is converted to {1}.", ch, result)
   Catch e As OverflowException
      Console.WriteLIne("Unable to convert u+{0} to a byte.", _
                        AscW(ch).ToString("X4"))
   End Try
Next   
' The example displays the following output:
'       a is converted to 97.
'       z is converted to 122.
'        is converted to 7.
'       Unable to convert u+03FF to a byte.      

Hinweise

Diese Methode gibt einen Bytewert ohne Vorzeichen zurück, der den numerischen Code Char des an ihn über gebenden Objekts darstellt.This method returns an unsigned byte value that represents the numeric code of the Char object passed to it. In der .NET Framework ist ein Char -Objekt ein 16-Bit-Wert.In the .NET Framework, a Char object is a 16-bit value. Dies bedeutet, dass die-Methode für die Rückgabe der numerischen Codes von Zeichen im ASCII-Zeichenbereich oder in den Unicode-Steuerelementen und den grundlegenden lateinischen Steuerelementen und C1-Steuerelementen sowie für die ergänzenden Bereiche "Latin-1" von u + 0000 bis U + 00FF geeignet ist.This means that the method is suitable for returning the numeric codes of characters in the ASCII character range or in the Unicode C0 Controls and Basic Latin, and C1 Controls and Latin-1 Supplement ranges, from U+0000 to U+00FF.

ToByte(DateTime) ToByte(DateTime) ToByte(DateTime) ToByte(DateTime)

Beim Aufrufen dieser Methode wird immer eine InvalidCastException ausgelöst.Calling this method always throws InvalidCastException.

public:
 static System::Byte ToByte(DateTime value);
public static byte ToByte (DateTime value);
static member ToByte : DateTime -> byte
Public Shared Function ToByte (value As DateTime) As Byte

Parameter

value
DateTime DateTime DateTime DateTime

Der Datums- und Uhrzeitwert, der konvertiert werden soll.The date and time value to convert.

Gibt zurück

Diese Konvertierung wird nicht unterstützt.This conversion is not supported. Es wird kein Wert zurückgegeben.No value is returned.

Ausnahmen

Diese Konvertierung wird nicht unterstützt.This conversion is not supported.

ToByte(Boolean) ToByte(Boolean) ToByte(Boolean) ToByte(Boolean)

Konvertiert den angegebenen booleschen Wert in die entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the specified Boolean value to the equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(bool value);
public static byte ToByte (bool value);
static member ToByte : bool -> byte
Public Shared Function ToByte (value As Boolean) As Byte

Parameter

value
Boolean Boolean Boolean Boolean

Der zu konvertierende boolesche Wert.The Boolean value to convert.

Gibt zurück

Die Zahl 1, wenn value true ist, andernfalls 0 (null).The number 1 if value is true; otherwise, 0.

Beispiele

Im folgenden Beispiel wird die Konvertierung von Boolean in Byte -Werte veranschaulicht.The following example illustrates the conversion of Boolean to Byte values.

using namespace System;

void main()
{
   bool falseFlag = false;
   bool trueFlag = true;

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

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

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

ToByte(Int16) ToByte(Int16) ToByte(Int16) ToByte(Int16)

Konvertiert den Wert der angegebenen 16-Bit-Ganzzahl mit Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 16-bit signed integer to an equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(short value);
public static byte ToByte (short value);
static member ToByte : int16 -> byte
Public Shared Function ToByte (value As Short) As Byte

Parameter

value
Int16 Int16 Int16 Int16

Die zu konvertierende 16-Bit-Ganzzahl mit Vorzeichen.The 16-bit signed integer to convert.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die value entspricht.An 8-bit unsigned integer that is equivalent to value.

Ausnahmen

value ist kleiner als MinValue oder größer als MaxValue.value is less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird ein Array von Int16 -Werten Byte in-Werte konvertiert.The following example converts an array of Int16 values to Byte values.

short[] numbers = { Int16.MinValue, -1, 0, 121, 340, Int16.MaxValue };
byte result;
foreach (short number in numbers)
{
   try {
      result = Convert.ToByte(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 Byte type.", 
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//       The Int16 value -32768 is outside the range of the Byte type.
//       The Int16 value -1 is outside the range of the Byte type.
//       Converted the Int16 value 0 to the Byte value 0.
//       Converted the Int16 value 121 to the Byte value 121.
//       The Int16 value 340 is outside the range of the Byte type.
//       The Int16 value 32767 is outside the range of the Byte type.
Dim numbers() As Short = { Int16.MinValue, -1, 0, 121, 340, Int16.MaxValue }
Dim result As Byte
For Each number As Short In numbers
   Try
      result = Convert.ToByte(number)
      Console.WriteLIne("Converted the {0} value {1} to the {2} value {3}.", _
                        number.GetType().Name, number, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Byte type.", _
                        number.GetType().Name, number)
   End Try
Next
' The example displays the following output:
'       The Int16 value -32768 is outside the range of the Byte type.
'       The Int16 value -1 is outside the range of the Byte type.
'       Converted the Int16 value 0 to the Byte value 0.
'       Converted the Int16 value 121 to the Byte value 121.
'       The Int16 value 340 is outside the range of the Byte type.
'       The Int16 value 32767 is outside the range of the Byte type.

ToByte(Int32) ToByte(Int32) ToByte(Int32) ToByte(Int32)

Konvertiert den Wert der angegebenen 32-Bit-Ganzzahl mit Vorzeichen in eine entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified 32-bit signed integer to an equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(int value);
public static byte ToByte (int value);
static member ToByte : int -> byte
Public Shared Function ToByte (value As Integer) As Byte

Parameter

value
Int32 Int32 Int32 Int32

Die zu konvertierende 32-Bit-Ganzzahl mit Vorzeichen.The 32-bit signed integer to convert.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die value entspricht.An 8-bit unsigned integer that is equivalent to value.

Ausnahmen

value ist kleiner als MinValue oder größer als MaxValue.value is less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird ein Array von Int32 -Werten Byte in-Werte konvertiert.The following example converts an array of Int32 values to Byte values.

int[] numbers = { Int32.MinValue, -1, 0, 121, 340, Int32.MaxValue };
byte result;
foreach (int number in numbers)
{
   try {
      result = Convert.ToByte(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 Byte type.", 
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//       The Int32 value -2147483648 is outside the range of the Byte type.
//       The Int32 value -1 is outside the range of the Byte type.
//       Converted the Int32 value 0 to the Byte value 0.
//       Converted the Int32 value 121 to the Byte value 121.
//       The Int32 value 340 is outside the range of the Byte type.
//       The Int32 value 2147483647 is outside the range of the Byte type.      
Dim numbers() As Integer = { Int32.MinValue, -1, 0, 121, 340, Int32.MaxValue }
Dim result As Byte
For Each number As Integer In numbers
   Try
      result = Convert.ToByte(number)
      Console.WriteLIne("Converted the {0} value {1} to the {2} value {3}.", _
                        number.GetType().Name, number, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Byte type.", _
                        number.GetType().Name, number)
   End Try
Next
' The example displays the following output:
'       The Int32 value -2147483648 is outside the range of the Byte type.
'       The Int32 value -1 is outside the range of the Byte type.
'       Converted the Int32 value 0 to the Byte value 0.
'       Converted the Int32 value 121 to the Byte value 121.
'       The Int32 value 340 is outside the range of the Byte type.
'       The Int32 value 2147483647 is outside the range of the Byte type.      

ToByte(Decimal) ToByte(Decimal) ToByte(Decimal) ToByte(Decimal)

Konvertiert den Wert der angegebenen Dezimalzahl in die entsprechende 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified decimal number to an equivalent 8-bit unsigned integer.

public:
 static System::Byte ToByte(System::Decimal value);
public static byte ToByte (decimal value);
static member ToByte : decimal -> byte
Public Shared Function ToByte (value As Decimal) As Byte

Parameter

value
Decimal Decimal Decimal Decimal

Die zu konvertierende Zahl.The number to convert.

Gibt zurück

value, auf die nächste 8-Bit-Ganzzahl ohne Vorzeichen gerundet.value, rounded to the nearest 8-bit unsigned integer. Wenn value genau zwischen zwei ganzen Zahlen liegt, wird die gerade Zahl zurückgegeben (d. h. 4,5 wird in 4 und 5,5 in 6 konvertiert).If value is halfway between two whole numbers, the even number is returned; that is, 4.5 is converted to 4, and 5.5 is converted to 6.

Ausnahmen

value ist größer als MaxValue oder kleiner als MinValue.value is greater than MaxValue or less than MinValue.

Hinweise

Im folgenden Beispiel wird ein Byte -Wert in Decimal einen- Decimal Wert und ein Byte-Wert in eine konvertiert.The following example converts a Byte value to a Decimal and a Decimal value to a Byte.

public:
   void ConvertByteDecimal( Byte byteVal )
   {
      Decimal decimalVal;
      
      // Byte to decimal conversion will not overflow.
      decimalVal = System::Convert::ToDecimal( byteVal );
      System::Console::WriteLine( "The Byte as a decimal is {0}.",
         decimalVal );
      
      // Decimal to Byte conversion can overflow.
      try
      {
         byteVal = System::Convert::ToByte( decimalVal );
         System::Console::WriteLine( "The Decimal as a Byte is {0}.",
         byteVal );
      }
      catch ( System::OverflowException^ ) 
      {
         System::Console::WriteLine(
            "The decimal value is too large for a Byte." );
      }
   }
public void ConvertByteDecimal(byte byteVal) {
	decimal decimalVal;

	// Byte to decimal conversion will not overflow.
	decimalVal = System.Convert.ToDecimal(byteVal);
	System.Console.WriteLine("The byte as a decimal is {0}.",
		decimalVal);

	// Decimal to byte conversion can overflow.
	try {
		byteVal = System.Convert.ToByte(decimalVal);
		System.Console.WriteLine("The Decimal as a byte is {0}.",
			byteVal);
	}
	catch (System.OverflowException) {
		System.Console.WriteLine(
			"The decimal value is too large for a byte.");
	}
}
Public Sub ConvertByteDecimal(ByVal byteVal As Byte)
    Dim decimalVal As Decimal

    ' Byte to decimal conversion will not overflow.
    decimalVal = System.Convert.ToDecimal(byteVal)
    System.Console.WriteLine("The byte as a decimal is {0}.", _
                              decimalVal)

    ' Decimal to byte conversion can overflow.
    Try
        byteVal = System.Convert.ToByte(decimalVal)
        System.Console.WriteLine("The Decimal as a byte is {0}.", _
                                  byteVal)
    Catch exception As System.OverflowException
        System.Console.WriteLine( _
            "Overflow in decimal-to-byte conversion.")
    End Try
End Sub

ToByte(Object) ToByte(Object) ToByte(Object) ToByte(Object)

Konvertiert den Wert des angegebenen Objekts in eine 8-Bit-Ganzzahl ohne Vorzeichen.Converts the value of the specified object to an 8-bit unsigned integer.

public:
 static System::Byte ToByte(System::Object ^ value);
public static byte ToByte (object value);
static member ToByte : obj -> byte
Public Shared Function ToByte (value As Object) As Byte

Parameter

value
Object Object Object Object

Ein Objekt, das die IConvertible-Schnittstelle implementiert, oder null.An object that implements the IConvertible interface, or null.

Gibt zurück

Eine 8-Bit-Ganzzahl ohne Vorzeichen, die value entspricht, oder 0 (null), wenn value gleich null ist.An 8-bit unsigned integer that is equivalent to value, or zero if value is null.

Ausnahmen

value weist nicht das Eigenschaftenformat für einen Byte-Wert auf.value is not in the property format for a Byte value.

value implementiert nicht IConvertible.value does not implement IConvertible.

- oder --or- Die Konvertierung von value in den Byte-Typ wird nicht unterstützt.Conversion from value to the Byte type is not supported.

value stellt eine Zahl dar, die kleiner als MinValue oder größer als MaxValue ist.value represents a number that is less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird die ToByte(Object) -Methode verwendet, um ein Array von Byte -Objekten in-Werte zu konvertieren.The following example uses the ToByte(Object) method to convert an array of objects to Byte values.

object[] values = { true, -12, 163, 935, 'x', "104", "103.0", "-1", 
                    "1.00e2", "One", 1.00e2};
byte result;
foreach (object value in values)
{
   try {
      result = Convert.ToByte(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 Byte 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 Byte exists for the {0} value {1}.", 
                        value.GetType().Name, value);
                        
   }
}                           
// The example displays the following output:
//       Converted the Boolean value True to the Byte value 1.
//       The Int32 value -12 is outside the range of the Byte type.
//       Converted the Int32 value 163 to the Byte value 163.
//       The Int32 value 935 is outside the range of the Byte type.
//       Converted the Char value x to the Byte value 120.
//       Converted the String value 104 to the Byte value 104.
//       The String value 103.0 is not in a recognizable format.
//       The String value -1 is outside the range of the Byte 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 Byte value 100.      
Dim values() As Object = { True, -12, 163, 935, "x"c, "104", "103.0", "-1", _
                           "1.00e2", "One", 1.00e2}
Dim result As Byte
For Each value As Object In values
   Try
      result = Convert.ToByte(value)
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
                        value.GetType().Name, value, _
                        result.GetType().Name, result)
   Catch e As OverflowException
      Console.WriteLine("The {0} value {1} is outside the range of the Byte type.", _
                        value.GetType().Name, value)
   Catch e As FormatException
      Console.WriteLine("The {0} value {1} is not in a recognizable format.", _
                        value.GetType().Name, value)
   Catch e As InvalidCastException
      Console.WriteLine("No conversion to a Byte exists for the {0} value {1}.", _
                        value.GetType().Name, value)
                        
   End Try
Next                           
' The example displays the following output:
'       Converted the Boolean value True to the Byte value 1.
'       The Int32 value -12 is outside the range of the Byte type.
'       Converted the Int32 value 163 to the Byte value 163.
'       The Int32 value 935 is outside the range of the Byte type.
'       Converted the Char value x to the Byte value 120.
'       Converted the String value 104 to the Byte value 104.
'       The String value 103.0 is not in a recognizable format.
'       The String value -1 is outside the range of the Byte 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 Byte value 100.      

Hinweise

Wenn value IConvertible.ToByte valuenicht nullist, umschließt diese Methode einen Rückruf für die-Implementierung des zugrunde liegenden Typs von.If value is not null, this method wraps a call to the IConvertible.ToByte implementation of the underlying type of value.

Gilt für: