Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Byte-Struktur

 

Veröffentlicht: August 2016

Stellt eine ganze 8-Bit-Zahl ohne Vorzeichen dar.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

<SerializableAttribute>
<ComVisibleAttribute(True)>
Public Structure Byte
	Implements IComparable, IFormattable, IConvertible, IComparable(Of Byte),
	IEquatable(Of Byte)

NameBeschreibung
System_CAPS_pubmethodCompareTo(Byte)

Vergleicht diese Instanz mit einer angegebenen 8-Bit-Ganzzahl ohne Vorzeichen, und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück.

System_CAPS_pubmethodCompareTo(Object)

Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück.

System_CAPS_pubmethodEquals(Byte)

Gibt einen Wert zurück, der angibt, ob diese Instanz und ein angegebenes Byte-Objekt den gleichen Wert darstellen.

System_CAPS_pubmethodEquals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Überschreibt ValueType.Equals(Object).)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Überschreibt ValueType.GetHashCode().)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodGetTypeCode()

Gibt den TypeCode für den Werttyp Byte zurück.

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

Wandelt die angegebene Zeichenfolgendarstellung einer Zahl in ihre Byte-Entsprechung um.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen kulturspezifischen Format in die Byte-Entsprechung.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil in die Byte-Entsprechung.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und kulturabhängigen Format in das entsprechende Byte.

System_CAPS_pubmethodToString()

Konvertiert den Wert des aktuellen Byte-Objekts in die entsprechende Zeichenfolgendarstellung.(Überschreibt ValueType.ToString().)

System_CAPS_pubmethodToString(IFormatProvider)

Konvertiert den numerischen Wert des aktuellen Byte-Objekts unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

System_CAPS_pubmethodToString(String)

Konvertiert den Wert des aktuellen Byte-Objekts unter Verwendung des angegebenen Formats in die entsprechende Zeichenfolgendarstellung.

System_CAPS_pubmethodToString(String, IFormatProvider)

Konvertiert den Wert des aktuellen Byte-Objekts unter Verwendung des angegebenen Formats sowie der kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, Byte)

Versucht, die Zeichenfolgendarstellung einer Zahl in deren Byte-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, NumberStyles, IFormatProvider, Byte)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und kulturabhängigen Format in das entsprechende Byte. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.

NameBeschreibung
System_CAPS_pubfieldSystem_CAPS_staticMaxValue

Stellt den größtmöglichen Wert von Byte dar. Dieses Feld ist konstant.

System_CAPS_pubfieldSystem_CAPS_staticMinValue

Stellt den kleinstmöglichen Wert von Byte dar. Dieses Feld ist konstant.

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToBoolean(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToBoolean.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToByte(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToByte.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToChar(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToChar.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDateTime(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDecimal(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToDecimal.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDouble(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToDouble.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt16(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToInt16.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt32(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToInt32.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt64(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToInt64.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSByte(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToSByte.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSingle(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToSingle.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToType(Type, IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToType.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt16(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToUInt16.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt32(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToUInt32.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt64(IFormatProvider)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Eine Beschreibung dieses Elements finden Sie unter IConvertible.ToUInt64.

Byte ist ein unveränderlicher Werttyp, der ganze Zahlen ohne Vorzeichen mit Werten darstellt, die im Bereich von 0 (durch dargestellt die Byte.MinValue konstant) und 255 (durch dargestellt die Byte.MaxValue konstant). .NET Framework schließt auch einen 8-Bit-Ganzzahl mit Vorzeichen-Wert-Typ SByte, der Werte darstellt, die zwischen-128 und 127 liegen.

Instanziieren Sie ein Byte Wert auf verschiedene Arten:

  • Können Sie deklarieren eine Byte Variable, und weisen Sie es einen Ganzzahlliteral-Wert, der innerhalb des Bereichs von ist die Byte -Datentyp. Das folgende Beispiel deklariert zwei Byte Variablen und weist ihnen Werte auf diese Weise.

    Dim value1 As Byte = 64
    Dim value2 As Byte = 255
    
  • Sie können ein Byte einen numerischen nicht-Byte-Wert zuweisen. Dies ist eine einschränkende Konvertierung, daher einem Umwandlungsoperator in c# und in Visual Basic eine Konvertierungsmethode Wenn benötigt OptionStrict ist. Wenn der nicht-Byte-Wert ist ein Single, Double, oder Decimal -Wert, der Bruchziffern, den Umgang mit den Teil mit Bruchzahlen enthält, hängt der Compiler die Konvertierung ausführt. Das folgende Beispiel weist mehrere numerische Werte Byte Variablen.

    Dim int1 As Integer = 128
    Try
       Dim value1 As Byte = CByte(int1)
       Console.WriteLine(value1)
    Catch e As OverflowException
       Console.WriteLine("{0} is out of range of a byte.", int1)
    End Try
    
    Dim dbl2 As Double = 3.997
    Try
       Dim value2 As Byte = CByte(dbl2)
       Console.WriteLine(value2)
    Catch e As OverflowException
       Console.WriteLine("{0} is out of range of a byte.", dbl2)
    End Try   
    ' The example displays the following output:
    '       128
    '       4
    
  • Sie können eine Methode aufrufen, die Convert -Klasse konvertiert einen unterstützten Typ in einen Byte Wert. Dies ist möglich, da Byte unterstützt die IConvertible Schnittstelle. Das folgende Beispiel veranschaulicht die Konvertierung eines Arrays von Int32 Werte Byte Werte.

    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.      
    
  • Rufen Sie die Parse oder TryParse Methode, die eine Darstellung des konvertieren eine Byte -Wert in eine Byte. Die Zeichenfolge kann entweder dezimale oder hexadezimale Ziffern enthalten. Das folgende Beispiel veranschaulicht den Analysevorgang mit einer dezimalen und eine hexadezimale Zeichenfolge.

    Dim string1 As String = "244"
    Try
       Dim byte1 As Byte = Byte.Parse(string1)
       Console.WriteLine(byte1)
    Catch e As OverflowException
       Console.WriteLine("'{0}' is out of range of a byte.", string1)
    Catch e As FormatException
       Console.WriteLine("'{0}' is out of range of a byte.", string1)
    End Try
    
    Dim string2 As String = "F9"
    Try
       Dim byte2 As Byte = Byte.Parse(string2,
                                 System.Globalization.NumberStyles.HexNumber)
       Console.WriteLine(byte2)
    Catch e As OverflowException
       Console.WriteLine("'{0}' is out of range of a byte.", string2)
    Catch e As FormatException
       Console.WriteLine("'{0}' is out of range of a byte.", string2)
    End Try
    ' The example displays the following output:
    '       244
    '       249
    

Die Byte unterstützt standardmäßige mathematische Operationen wie Addition, Subtraktion, Division, Multiplikation, Subtraktion, Negation und unäre Negation. Wie die anderen ganzzahligen Typen, die Byte Typ unterstützt auch das bitweise AND, OR, XOR, linke UMSCHALTTASTE und right Shift-Operatoren.

Sie können die standardmäßigen numerischen Operatoren verwenden, um zwei Byte Werte, oder Sie rufen die CompareTo oder Equals Methode.

Sie können auch aufrufen, die Mitglieder der Math -Klasse, eine Vielzahl von numerischen Operationen, einschließlich der erste den absoluten Wert einer Zahl, berechnet den Quotienten und den Rest einer ganzzahligen Division, bestimmen den maximalen oder minimalen Wert von zwei ganzen Zahlen, die Vorzeichen einer Zahl abrufen und eine Zahl runden.

Die Byte bietet vollständige Unterstützung für Standard- und benutzerdefinierte numerische Formatzeichenfolgen. (Weitere Informationen finden Sie unter Formatieren von Typen in .NET Framework, Standardmäßige Zahlenformatzeichenfolgen, und Benutzerdefinierte Zahlenformatzeichenfolgen.) Allerdings werden in den meisten Fällen Bytewerten als einstellige dreistellige Werte ohne zusätzliche Formatierung oder als zweistellige Hexadezimalwerte dargestellt.

So formatieren Sie einen Byte Wert als ganzzahlige Zeichenfolge ohne führende Nullen, können Sie die parameterlose Aufrufen ToString() Methode. Mit dem Formatbezeichner "D", können Sie auch eine bestimmten Anzahl führender Nullen in der Zeichenfolgendarstellung einschließen. Sie können mithilfe der Formatbezeichner "X" darstellen einer Byte Wert als hexadezimale Zeichenfolge. Im folgenden Beispiel formatiert die Elemente in einem Array von Byte -Werten auf diese drei Arten.

Dim numbers() As Byte = { 0, 16, 104, 213 }
For Each number As Byte In numbers
   ' Display value using default formatting.
   Console.Write("{0,-3}  -->   ", number.ToString())
   ' Display value with 3 digits and leading zeros.
   Console.Write(number.ToString("D3") + "   ")
   ' Display value with hexadecimal.
   Console.Write(number.ToString("X2") + "   ")
   ' Display value with four hexadecimal digits.
   Console.WriteLine(number.ToString("X4"))
Next   
' The example displays the following output:
'       0    -->   000   00   0000
'       16   -->   016   10   0010
'       104  -->   104   68   0068
'       213  -->   213   D5   00D5      

Sie können auch Formatieren einer Byte -Wert als binäre, oktale, Dezimal oder hexadezimal-Zeichenfolge durch Aufrufen der ToString(Byte, Int32) -Methode und die Basis als zweiten Parameter der Methode angeben. Im folgenden Beispiel wird diese Methode zum Anzeigen der binäre, oktale und hexadezimale Darstellung eines Arrays von Bytewerten.

Dim numbers() As Byte = { 0, 16, 104, 213 }
Console.WriteLine("{0}   {1,8}   {2,5}   {3,5}", _
                  "Value", "Binary", "Octal", "Hex")
For Each number As Byte In numbers
   Console.WriteLine("{0,5}   {1,8}   {2,5}   {3,5}", _
                     number, Convert.ToString(number, 2), _
                     Convert.ToString(number, 8), _
                     Convert.ToString(number, 16))
Next      
' The example displays the following output:
'       Value     Binary   Octal     Hex
'           0          0       0       0
'          16      10000      20      10
'         104    1101000     150      68
'         213   11010101     325      d5      

Zusätzlich zur Zusammenarbeit mit einzelnen Bytes als Dezimalwerte, sollten Sie bitweise Operationen mit Bytewerten oder Arbeiten mit Bytearrays oder die binäre oder hexadezimale Darstellung der Byte-Werte. Z. B. der Überladungen der BitConverter.GetBytes -Methode kann alle primitiven Datentypen in ein Bytearray konvertiert und die BigInteger.ToByteArray -Methode konvertiert eine BigInteger Wert in ein Bytearray.

Byte Werte werden durch ihre Größe, ohne Vorzeichenbit in 8 Bits dargestellt. Dies ist wichtig zu bedenken, wenn Sie für die bitweise Operationen ausführen Byte Werte oder bei der Arbeit mit einzelnen Bits. Um eine numerische, boolesche oder Vergleichsoperation für zwei beliebige Werte von nicht-Dezimalzahlen auszuführen, müssen beide Werte die gleiche Darstellung verwenden.

Wenn ein Vorgang ausgeführt wird, auf zwei Byte Werte, die Werte verwenden die gleiche Darstellung, damit das Ergebnis ist. Dies wird im folgenden Beispiel, das das niederwertigsten Bit maskiert veranschaulicht ein Byte Wert, um sicherzustellen, dass sie gerade ist.

Imports System.Globalization

Module Example
   Public Sub Main()
      Dim values() As String = { Convert.ToString(12, 16), _
                                 Convert.ToString(123, 16), _
                                 Convert.ToString(245, 16) }

      Dim mask As Byte = &hFE
      For Each value As String In values
         Dim byteValue As Byte = Byte.Parse(value, NumberStyles.AllowHexSpecifier)
         Console.WriteLine("{0} And {1} = {2}", byteValue, mask, _ 
                           byteValue And mask)
      Next         
   End Sub
End Module
' The example displays the following output:
'       12 And 254 = 12
'       123 And 254 = 122
'       245 And 254 = 244

Auf der anderen Seite beim Arbeiten mit Bits nicht signierte und signierte bitweise Operationen sind kompliziert, die SByte Werte Vorzeichen-Wert-Darstellung für positive Werte und die zwei Komplement Darstellung für negative Werte verwenden. Um eine sinnvolle bitweise Operation auszuführen, müssen die Werte in zwei äquivalente Darstellung konvertiert werden, und Informationen über das signierte Bit beibehalten werden muss. Im folgenden Beispiel wird diese Option, um Bits 2 und 4 eines Arrays von 8-Bit-Werte für mit und ohne Vorzeichen zu maskieren.

Imports System.Collections.Generic
Imports System.Globalization

Public Structure ByteString
   Public Value As String
   Public Sign As Integer
End Structure

Module Example
   Public Sub Main()
      Dim values() As ByteString = CreateArray(-15, 123, 245)

      Dim mask As Byte = &h14        ' Mask all bits but 2 and 4.

      For Each strValue As ByteString In values
         Dim byteValue As Byte = Byte.Parse(strValue.Value, NumberStyles.AllowHexSpecifier)
         Console.WriteLine("{0} ({1}) And {2} ({3}) = {4} ({5})", _ 
                           strValue.Sign * byteValue, _ 
                           Convert.ToString(byteValue, 2), _
                           mask, Convert.ToString(mask, 2), _
                           (strValue.Sign And Math.Sign(mask)) * (byteValue And mask), _
                           Convert.ToString(byteValue And mask, 2))
      Next         
   End Sub

   Private Function CreateArray(ParamArray values() As Object) As ByteString()
      Dim byteStrings As New List(Of ByteString)
      For Each value As Object In values
         Dim temp As New ByteString()
         Dim sign As Integer = Math.Sign(value)
         temp.Sign = sign
         ' Change two's complement to magnitude-only representation.
         value = value * sign

         temp.Value = Convert.ToString(value, 16)
         byteStrings.Add(temp)
      Next
      Return byteStrings.ToArray()
   End Function   
End Module
' The example displays the following output:
'       -15 (1111) And 20 (10100) = 4 (100)
'       123 (1111011) And 20 (10100) = 16 (10000)
'       245 (11110101) And 20 (10100) = 20 (10100)

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Alle Member dieses Typs sind threadsicher. Elemente, die angezeigt werden, so ändern Sie den Zustand der Instanz zurück tatsächlich eine neue Instanz mit dem neuen Wert initialisiert. Als müssen bei allen anderen Typen müssen Lese- und Schreibzugriffe auf eine freigegebene Variable, die eine Instanz dieses Typs enthält durch eine Sperre auf die Threadsicherheit geschützt werden.

Zurück zum Anfang
Anzeigen: