Question

Je sais que je peux attribuer une valeur spécifique à un flotteur en faisant

float y = 4.5f;

Je veux faire la même chose, sauf un octet. Comment puis-je faire cela? J'ai vérifié la documentation MSDN et ne peut pas trouver quoi que ce soit lié à cela. De plus, quel est ce nom?

Merci,

[Modifier]

Pour plus de clarté le code que je utilise tout ceci est

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

et l'erreur que je reçois est

  

Impossible de convertir implicitement le type 'int'   à « octet? ». Une conversion explicite   EXISTE (vous manque un casting?)

Solution

byte myByte = (byte)(a==b?1:0);
Était-ce utile?

La solution

Le byte, sbyte, types de données et de short ushort ne sont pas désignés suffixes. Cependant, peut être littéral entier affecté à des variables de ces types de données et seront convertis implicitement, en supposant que la valeur est appropriée pour le stockage dans la variable. Pour le compte rendu ici sont les littéraux définis en C #:

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

Autres conseils

Je voudrais simplement utiliser un casting.

// 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;

Ou introduire une constante.

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

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

Selon ce message , l'octet n'a pas un tel suffixe.

Vous n'avez pas besoin d'un suffixe lors de la définition d'un octet:

   byte b = 1;

Il vous suffit de vous assurer que votre valeur est comprise entre 0 et 255.

MSDN fait référence à l'utilisation du F comme un « suffixe », forçant un type littérales.

Voir l'article suivant en ligne C-sharp pour plus d'informations

notation Hex:

octet 0xFF = b;

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top