質問

私は私がやっによりフロートに特異的に値を割り当てることができることを知っている。

float y = 4.5f;

私は、バイトなどを除いて、同じことをしたいです。私はこれをどのように行うのですか?私は、MSDNのドキュメントをチェックしましたし、これに関連する何かを見つけることができません。また、これは何と呼ばれるのですか?

おかげで、

[編集]

明確にするために、私が上でこれを使用しているコードがある

byte myByte = a==b?1:0;

と私が手にエラーがある

  

は、暗黙的に型「int型」を変換できません。   「バイト?」へ。明示的な変換   (あなたはキャストが欠けている?)

が存在します

ソリューション

byte myByte = (byte)(a==b?1:0);
役に立ちましたか?

解決

bytesbyteshortushortデータ型が指定された接尾辞を持っていません。しかし、整数リテラルは、これらのデータ型の変数に割り当てることができ、暗黙的に値が変数に格納するために適切であると仮定すると、変換されます。ただ、ここでレコードに定義されたリテラルは、C#であります:

uint: U or u
long: L or l
ulong: UL or ul
float: F or f
decimal: M or m

他のヒント

私は、キャストを使用することになります。

// Okay
Byte data = (Byte) 57;

// Error (but I don't know if it is a compiler error or a runtime error)
Byte data = (Byte) -17;

または定数を紹介します。

// Okay
const Byte foo = 57;
Byte data = foo;

// Compiler Error
const Byte foo = -17;
Byte data = foo;

>、バイトはそのような接尾辞を持っていません。

バイトを定義するときには、接尾辞は必要ありません。

   byte b = 1;

あなたは自分の値が0と255の間であることを確認する必要があります。

MSDNはリテラルタイプを強制的に、「サフィックス」としてFの使用を指す。

詳細については、C-シャープオンラインのnoreferrer">

16進表記

バイトB = 0xffの

scroll top