この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Byte 構造体

 

公開日: 2016年10月

8 ビット符号なし整数を表します。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Byte : IComparable, IFormattable, IConvertible, 
	IComparable<byte>, IEquatable<byte>

名前説明
System_CAPS_pubmethodCompareTo(Byte)

指定した 8 ビット符号なし整数とこのインスタンスを比較し、これらの相対値を示す値を返します。

System_CAPS_pubmethodCompareTo(Object)

指定したオブジェクトとこのインスタンスを比較し、これらの相対値を示す値を返します。

System_CAPS_pubmethodEquals(Byte)

このインスタンスと指定した Byte オブジェクトが同じ値を表しているかどうかを示す値を返します。

System_CAPS_pubmethodEquals(Object)

このインスタンスが指定されたオブジェクトに等しいかどうかを示す値を返します。(ValueType.Equals(Object) をオーバーライドします。)

System_CAPS_pubmethodGetHashCode()

このインスタンスのハッシュ コードを返します。(ValueType.GetHashCode() をオーバーライドします。)

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されます。)

System_CAPS_pubmethodGetTypeCode()

TypeCode 値型の Byte を返します。

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

数値の文字列形式を、それと等価の Byte に変換します。

System_CAPS_pubmethodSystem_CAPS_staticParse(String, IFormatProvider)

指定されたカルチャ固有の書式で表現された文字列形式の数値を、それと等価の Byte に変換します。

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles)

指定のスタイルで表現された数値の文字列形式を、それと等価な Byte に変換します。

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles, IFormatProvider)

指定したスタイルおよびカルチャ固有の書式の数値の文字列形式を、それと等価の Byte に変換します。

System_CAPS_pubmethodToString()

現在の Byte オブジェクトの値を等価の文字列形式に変換します。(ValueType.ToString() をオーバーライドします。)

System_CAPS_pubmethodToString(IFormatProvider)

指定したカルチャ固有の書式設定情報を使用して、現在の Byte オブジェクトの値をそれと等価な文字列形式に変換します。

System_CAPS_pubmethodToString(String)

指定した書式を使用して、現在の Byte オブジェクトの値をそれと等価な文字列形式に変換します。

System_CAPS_pubmethodToString(String, IFormatProvider)

指定した形式およびカルチャ固有の書式設定情報を使用して、現在の Byte オブジェクトの値をそれと等価の文字列形式に変換します。

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, Byte)

数値の文字列形式を対応する Byte 表現に変換できるかどうかを試行し、変換に成功したかどうかを示す値を返します。

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, NumberStyles, IFormatProvider, Byte)

指定したスタイルおよびカルチャ固有の書式の数値の文字列形式を、それと等価の Byte に変換します。 戻り値は、変換が成功したか失敗したかを示します。

名前説明
System_CAPS_pubfieldSystem_CAPS_staticMaxValue

Byte の最大有効値を表します。 このフィールドは定数です。

System_CAPS_pubfieldSystem_CAPS_staticMinValue

Byte の最小有効値を表します。 このフィールドは定数です。

名前説明
System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToBoolean(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToBoolean」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToByte(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToByte」をご覧ください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToChar(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToChar」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDateTime(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 この変換はサポートされていません。 このメソッドを使用しようとすると、InvalidCastException がスローされます。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDecimal(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToDecimal」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDouble(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToDouble」をご覧ください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt16(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToInt16」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt32(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToInt32」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt64(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToInt64」をご覧ください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSByte(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToSByte」をご覧ください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSingle(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToSingle」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToType(Type, IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの説明については、「IConvertible.ToType」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt16(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToUInt16」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt32(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToUInt32」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt64(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「IConvertible.ToUInt64」を参照してください。

Byte符号なし整数の範囲は 0 から値を表す不変の値の型は、(で表される、Byte.MinValue定数) 255 (で表される、Byte.MaxValue定数)。 .NET Framework は、8 ビット符号付き整数値型でも含まれています。 SByte、-128 から 127 までの値を表します。

インスタンス化することができます、Byte方法はいくつかの値。

  • 宣言することができます、Byte変数の範囲内にあるリテラルの整数値を割り当てると、Byteデータ型。 次の例で 2 つのByte変数し、それらにこの方法で値を割り当てます。

    byte value1 = 64;
    byte value2 = 255;
    
  • バイト以外の数値は、バイトに割り当てることができます。 これは、縮小変換は c# のキャスト演算子が、Visual Basic での変換メソッド場合OptionStrictにします。 バイト以外の値がある場合、 SingleDouble、またはDecimal小数部が、その小数部の処理が含まれる値は、変換を実行して、コンパイラに依存します。 次の例では、いくつかの数値をByte変数。

    int int1 = 128;
    try {
       byte value1 = (byte) int1;
       Console.WriteLine(value1);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of a byte.", int1);
    }
    
    double dbl2 = 3.997;
    try {
       byte value2 = (byte) dbl2;
       Console.WriteLine(value2);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of a byte.", dbl2);
    }
    // The example displays the following output:
    //       128
    //       3
    
  • メソッドを呼び出すことができます、Convertすべて変換クラスにする型がサポートされている、Byte値。 これは、考えられるためByteサポート、IConvertibleインターフェイスです。 次の例は、配列の変換を示しています。Int32Byte値。

    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.      
    
  • 呼び出すことができます、ParseまたはTryParseの文字列形式に変換するメソッド、Byte値をByteです。 文字列は、10 進または 16 進数の数字を含めることができます。 次の例では、10 進数と 16 進数文字列の両方を使用して、解析操作を示しています。

    string string1 = "244";
    try {
       byte byte1 = Byte.Parse(string1);
       Console.WriteLine(byte1);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a byte.", string1);
    }
    catch (FormatException) {
       Console.WriteLine("'{0}' is out of range of a byte.", string1);
    }
    
    string string2 = "F9";
    try {
       byte byte2 = Byte.Parse(string2, 
                               System.Globalization.NumberStyles.HexNumber);
       Console.WriteLine(byte2);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a byte.", string2);
    }
    catch (FormatException) {
       Console.WriteLine("'{0}' is out of range of a byte.", string2);
    }
    // The example displays the following output:
    //       244
    //       249
    

Byte型は、加算、減算、除算、乗算、減算、否定、単項否定演算子などの標準的な数学的演算をサポートしています。 などの他の整数型、Byte型もサポートしている、ビットごとANDORXOR、shift キー、および右シフト演算子のままです。

標準の数値演算子を使用するには 2 つを比較するByte値、またはを呼び出すことができます、CompareToまたはEqualsメソッドです。

メンバーを呼び出すこともできます、Mathをさまざまな数値の絶対値の取得、商と整数除算の剰余を計算する、2 つの整数の最大値または最小値を決定する、数値の符号を取得および数値の丸め処理を行うなど、数値の操作を実行するクラス。

Byte標準およびカスタム数値書式指定文字列の型が完全にサポートを提供します。 (詳細については、次を参照してください.NET Framework における型の書式設定標準の数値書式指定文字列、およびカスタム数値書式指定文字列。)。 ただし、ほとんどの場合、バイト値として表される 1 桁の 3 桁の値、追加の書式設定、なし、または 2 桁の 16 進値として。

書式設定、Byte値先行ゼロなしで整数を文字列として呼び出すことができます、パラメーターなしToString()メソッドです。 "D"書式指定子を使用すると、指定された数の文字列形式には先行ゼロを含めることもできます。 "X"書式指定子を使用して表すことができます、 Byte 16 進数文字列値です。 次の例の配列内の要素を書式設定Byteこれら 3 つの方法で値。

byte[] numbers = { 0, 16, 104, 213 };
foreach (byte number 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"));
}   
// The example displays the following output:
//       0    -->   000   00   0000
//       16   -->   016   10   0010
//       104  -->   104   68   0068
//       213  -->   213   D5   00D5      

フォーマットすることも、Byteバイナリ、8 進数、呼び出すことによって、10 進数または 16 進数の文字列値、ToString(Byte, Int32)メソッドおよびメソッドの 2 番目のパラメーターとして情報を指定します。 次の例では、このバイナリは、8 進数、表示するメソッドとバイト値の配列の 16 進数表記を呼び出します。

byte[] numbers ={ 0, 16, 104, 213 };
Console.WriteLine("{0}   {1,8}   {2,5}   {3,5}",
                  "Value", "Binary", "Octal", "Hex");
foreach (byte number 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));
}      
// 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      

に加えて、10 進数値として個々 のバイトを使用するには、バイト値のビットごとの演算を実行またはバイト配列またはバイト値のバイナリまたは 16 進表現でしたいと可能性があります。 などのオーバー ロードが、BitConverter.GetBytesバイト配列を各プリミティブ データ型のメソッドに変換できます、BigInteger.ToByteArrayメソッドに変換、BigIntegerバイト配列への値。

Byte値は、符号ビットせず、8 ビットで、のみ、その規模で表現されます。 これでビットごとの演算を実行するときに注意する重要Byte値または個々 のビットを操作する際にします。 数値型、ブール値、または 2 つの非 10 進値に対する比較操作を実行するために両方の値は同じ形式を使用する必要があります。

2 つの操作を実行するときにByte値、値を共有、同じ形式をので、結果が正確です。 最下位ビットをマスクする次の例に示す、Byteでもあることを確認する値。

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values = { Convert.ToString(12, 16), 
                          Convert.ToString(123, 16), 
                          Convert.ToString(245, 16) };

      byte mask = 0xFE;
      foreach (string value in values) {
         Byte byteValue = Byte.Parse(value, NumberStyles.AllowHexSpecifier);
         Console.WriteLine("{0} And {1} = {2}", byteValue, mask,  
                           byteValue & mask);
      }
   }
}
// The example displays the following output:
//       12 And 254 = 12
//       123 And 254 = 122
//       245 And 254 = 244

その一方で、符号付きと符号なしの両方のビットを操作するときにビットごとの演算は複雑にする、SByte値が正の値、および 2 の補数表現負の値の符号および絶対値による表現を使用します。 意味のあるビットごとの演算を実行するために、値を 2 つの同等の表現に変換する必要があり、符号ビットに関する情報が保持される必要があります。 次の例は、2、8 ビット符号付きと符号なしの値の配列の 4 ビットをマスクするされます。

using System;
using System.Collections.Generic;
using System.Globalization;

public struct ByteString
{
   public string Value;
   public int Sign;
}

public class Example
{
   public static void Main()
   {
      ByteString[] values = CreateArray(-15, 123, 245);

      byte mask = 0x14;        // Mask all bits but 2 and 4.

      foreach (ByteString strValue in values) {
         byte byteValue = 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 & Math.Sign(mask)) * (byteValue & mask), 
                           Convert.ToString(byteValue & mask, 2));
      }
   }

   private static ByteString[] CreateArray(params int[] values)
   {
      List<ByteString> byteStrings = new List<ByteString>();

      foreach (object value in values) {
         ByteString temp = new ByteString();
         int sign = Math.Sign((int) value);
         temp.Sign = sign;

         // Change two's complement to magnitude-only representation.
         temp.Value = Convert.ToString(((int) value) * sign, 16);

         byteStrings.Add(temp);
      }
      return byteStrings.ToArray();
   }
}
// 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)

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
1.1 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能

この種類のすべてのメンバーでは、スレッド セーフです。 インスタンスの状態を変更する表示されるメンバーは、新しい値で初期化された新しいインスタンスを実際に返します。 として、他の種類と読み取りと書き込みをこの型のインスタンスを含む共有変数を保護する必要があるスレッド セーフを確保するロックによってです。

トップに戻る
表示: