4 votes

Quel est le moyen le plus simple de convertir un bool en chaîne de caractères en C# ?

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.

14voto

Mark Byers Points 318575

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

9voto

Sergey Teplyakov Points 6556
bool b = true;
Console.WriteLine(b.ToString());

6voto

Jon Hanna Points 40291

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.

2voto

MikeP Points 4823
bool v = true;  
string s = v.ToString();

2voto

abelenky Points 28063

Quel est le problème avec .ToString() qui est disponible sur chaque objet ?

bool myBool = false;
string myString = myBool.ToString();

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