byte (C# リファレンス)

byte キーワードは、次の表に示された値を格納する整数型を示します。

範囲

サイズ

.NET Framework 型

byte

0 ~ 255

符号なし 8 ビット整数

System.Byte

リテラル

byte 変数の宣言と初期化の例を次に示します。

byte myByte = 255;

上のように宣言すると、整数リテラル 255 は暗黙的に int から byte に変換されます。 整数リテラルが byte の範囲を超えると、コンパイル エラーになります。

変換

byte から shortushortintuintlongulongfloatdoubledecimal への暗黙の型変換が組み込まれています。

より大きな記憶領域のサイズを持つ、リテラル以外の数値型を暗黙的に byte に変換することはできません。 整数型の記憶領域サイズの詳細については、「整数型の一覧表 (C# リファレンス)」を参照してください。 たとえば、2 つの byte 変数 x と y があるとします。

byte x = 10, y = 20;

次の代入ステートメントは、代入演算子の右側にある算術式が既定で int に評価されるため、コンパイル エラーになります。

// Error: conversion from int to byte:
byte z = x + y;

このエラーを修正するには、キャストを使用します。

// OK: explicit conversion:
byte z = (byte)(x + y);

ただし、次のステートメントは使用できます。このステートメントでは、変換先の変数の記憶領域サイズは元のサイズ以上になります。

int x = 10, y = 20;
int m = x + y;
long n = x + y;

浮動小数点型から byte への暗黙の型変換はありません。 たとえば、次のステートメントは、明示的なキャストを使用しない場合、コンパイラ エラーになります。

// Error: no implicit conversion from double:
byte x = 3.0; 
// OK: explicit conversion:
byte y = (byte)3.0;

オーバーロードされたメソッドを呼び出すときは、キャストを使用する必要があります。 たとえば、byte パラメーターと int パラメーターを使用したオーバーロードされたメソッドがあるとします。

public static void SampleMethod(int i) {}
public static void SampleMethod(byte b) {}

byte キャストを使用すると、正しい型が呼び出されます。次に例を示します。

// Calling the method with the int parameter:
SampleMethod(5);
// Calling the method with the byte parameter:
SampleMethod((byte)5);

浮動小数点型と整数型の混在する算術式の詳細については、「float」と「double」を参照してください。

暗黙の数値変換規則の詳細については、「暗黙的な数値変換の一覧表 (C# リファレンス)」を参照してください。

C# 言語仕様

詳細については、「C# 言語仕様」を参照してください。 言語仕様は、C# の構文と使用法に関する信頼性のある情報源です。

参照

参照

C# のキーワード

整数型の一覧表 (C# リファレンス)

組み込み型の一覧表 (C# リファレンス)

暗黙的な数値変換の一覧表 (C# リファレンス)

明示的な数値変換の一覧表 (C# リファレンス)

Byte

概念

C# プログラミング ガイド

その他の技術情報

C# リファレンス