質問
私は私がやっによりフロートに特異的に値を割り当てることができることを知っている。
float y = 4.5f;
私は、バイトなどを除いて、同じことをしたいです。私はこれをどのように行うのですか?私は、MSDNのドキュメントをチェックしましたし、これに関連する何かを見つけることができません。また、これは何と呼ばれるのですか?
おかげで、
の [編集] の
明確にするために、私が上でこれを使用しているコードがある
byte myByte = a==b?1:0;
と私が手にエラーがある
は、暗黙的に型「int型」を変換できません。 「バイト?」へ。明示的な変換 (あなたはキャストが欠けている?)
が存在します
ソリューション
byte myByte = (byte)(a==b?1:0);
解決
byte
、sbyte
、short
とushort
データ型が指定された接尾辞を持っていません。しかし、整数リテラルは、これらのデータ型の変数に割り当てることができ、暗黙的に値が変数に格納するために適切であると仮定すると、変換されます。ただ、ここでレコードに定義されたリテラルは、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の
所属していません StackOverflow