Quelle est la différence entre Convertir.ToBoolean(string) et Boolean.Parse(string)?
Quelle est la différence entre les deux méthodes
Convert.ToBoolean()
et
Boolean.Parse()
?
Est-il une raison pour utiliser l'un ou l'autre?
En outre, d'autres type.Parse()
méthodes que je devrais faire attention?
Merci,
Matt
Vous devez vous connecter pour publier un commentaire.
Convert.ToBoolean(string)
fait des appelsbool.Parse()
de toute façon, donc pour les non-nullstring
s, il n'y a pas de différence fonctionnelle. (Pour les nulsstring
s,Convert.ToBoolean()
retournefalse
, alors quebool.Parse()
jette unArgumentNullException
.)Compte tenu de ce fait, vous devez utiliser
bool.Parse()
lorsque vous êtes certain que votre entrée n'est pas nulle, puisque vous enregistrer vous-même un nul vérifier.Convert.ToBoolean()
a bien sûr un certain nombre d'autres surcharges qui vous permettent de générer unbool
à partir de nombreux autres types intégrés, alors queParse()
est pourstring
s seulement.En termes de type.Parse() méthodes que vous devriez regarder dehors pour, tous les types numériques intégrés ont
Parse()
ainsi queTryParse()
méthodes.DateTime
a celles-ci, ainsi que les autresParseExact()
/TryParseExact()
méthodes qui vous permettent de spécifier un format attendu pour la date.TryParse()
ne fait pas partie du Compact Framework.Parse()
si vous êtes sûr que la saisie n'est pas une chaîne null. Si vous n'êtes pas sûr, il suffit d'utiliserToBoolean()
, car il fera le vérifier pour vous. Et si vous ne voulez pas une chaîne vide à la suite dans les faux, puis effectuer le contrôle de vous-même, et ensuite appelerParse()
si ce n'est pas null.Voici une petite démo:
Remarque: Il existe également deux propriétés de
bool
TrueString et FalseString, mais être prudent, carbool.TrueString != "true"
, seulementbool.TrueString == "True"
Convert.ToBoolean("1"); // Format Exception
Boolean.Parse()
permettra de convertir une chaîne de caractères de la représentation de la logique booléenne de la valeur à une valeur booléenne.Convert.ToBoolean()
a plusieurs surcharges qui vous permet de convertir les types primitifs de leur équivalent booléen.La plupart, si pas tous, les types primitifs en C#, associées à un *.Analyser/Convertir.À* méthode qui servent le même but que
Boolean.Parse()/Convert.ToBoolean()
.