2 votes

Pourquoi passer à un octet et revenir immédiatement à un int ?

J'ai trouvé ce code :

this.message.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));

Pourquoi ne pas simplement faire ça ?

this.message.ForeColor = System.Drawing.Color.FromArgb(64, 64, 64);

Je l'ai trouvé dans le code du concepteur dans Visual Studio.

1voto

paxdiablo Points 341644

Je pense qu'il s'agit simplement de forcer toutes les valeurs à entrer dans une plage spécifiée, par exemple 0..255 quelle que soit leur valeur initiale.

Inutile si vous contrôlez les constantes (comme un code en dur). 64 ) mais il se peut que ce code soit généré dynamiquement à partir de données qui n'est pas ainsi contrôlé (comme une zone de saisie de texte dans une boîte de dialogue, ou si le concepteur vous laisse saisir des valeurs comme 9999 mais veut les ramener à une plage valide).

0voto

Mark Alicz Points 249

Je suppose qu'ils voulaient que l'application génère une erreur si un nombre supérieur à 255 était ajouté ? Vous connaissez les merveilleuses erreurs de conception..

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X