Je suis tenté d'utiliser un if ... else ...
mais je me demande s'il y a un moyen plus facile ? J'ai besoin d'afficher le résultat vrai ou faux dans une boîte de message.
Réponses
Trop de publicités?El bool.ToString
fait déjà ce que vous voulez.
Cette méthode renvoie les constantes "True" ou "False".
Cependant, en pratique, il n'est pas si fréquent d'avoir besoin d'appeler explicitement ToString
directement à partir de votre code. Si vous écrivez déjà une chaîne de caractères, le moyen le plus simple est d'utiliser la concaténation :
string message = "The result is " + b;
Cela se compile en un appel à string.Concat
et cela appelle le ToString
méthode pour vous.
Dans certaines situations, il peut être utile d'utiliser String.Format
et à nouveau le ToString
est appelée pour vous :
string message = string.Format("The result is {0}. Try again?", b);
Je vais juste lancer :
val ? "true" : "false"
dans le mélange, car il est souvent nécessaire d'avoir un résultat en minuscules (de nombreux formats lisibles par machine, comme de nombreux formats XML, utilisent des minuscules pour les valeurs booléennes). val.ToString().ToLowerInvariant()
.
Bien sûr, l'extension à val ? "yes" : "no"
et ainsi de suite est trivial. Être localisable est une autre affaire, et pas toujours trivial (un certain nombre de cas auraient des phrases très différentes si elles étaient bien traduites, donc la logique de messageStart + (val ? "yes" : "no") + messageEnd
ne fonctionne pas toujours bien.
- Réponses précédentes
- Plus de réponses