Quelle est la différence entre bool
et Boolean
types en C #?
338
bool
est un alias pour System.Boolean
tout comme int
un alias pour System.Int32
. Consultez la liste complète des alias ici: Table des types intégrés (référence C #) .
boolean
et ceBoolean
n'est pas la même chose. L'un est un type de données primitif et l'autre est un objet.Je ne pense pas qu'il y en ait un.
bool
est juste un alias pourSystem.Boolean
la source
Ils sont l'un dans le même. bool n'est qu'un alias pour Boolean.
la source
Il n'y a aucune différence - bool est simplement un alias de System.Boolean.
http://msdn.microsoft.com/en-us/library/c8f5xwh7(VS.71).aspx
la source
Je me rends compte que c'est plusieurs années plus tard, mais je suis tombé sur cette page de Google avec la même question.
Il y a une différence mineure sur la page MSDN à partir de maintenant.
VS2005
VS2010
la source
bool
pourrait contenir null, maisBoolean
pas. Même s'il existe un lien entre l'ancienne et la nouvelle documentation, je n'ai pas suffisamment lu la nouvelle documentation pour remarquer la seule?
différence.Ce sont les mêmes. Boolean permet de simplifier la conversion entre C # et VB.Net. La plupart des programmeurs C # ont tendance à préférer `` booléen '', mais si vous êtes dans un magasin où il y a beaucoup de VB.Net et de C #, vous préférerez peut-être Boolean car il fonctionne aux deux endroits.
la source
Comme cela a été dit, ce sont les mêmes. Il y en a deux car bool est un mot clé C # et Boolean une classe .Net.
la source
L'un est un alias pour l'autre.
la source
bool est un alias pour la classe booléenne. J'utilise l'alias lors de la déclaration d'une variable et le nom de la classe lors de l'appel d'une méthode sur la classe.
la source
Ce sont les mêmes, Bool n'est que System.Boolean raccourci. Utilisez Boolean lorsque vous êtes avec un programmeur VB.net, car il fonctionne avec C # et Vb
la source
Notez que
Boolean
cela ne fonctionnera que si vous en avezusing System;
(qui est généralement, mais pas nécessairement, inclus) (sauf si vous l'écrivez commeSystem.Boolean
).bool
n'a pas besoinusing System;
la source
bool est un type primitif, ce qui signifie que la valeur (vrai / faux dans ce cas) est stockée directement dans la variable. Boolean est un objet. Une variable de type booléen stocke une référence à un objet booléen. La seule vraie différence est le stockage. Un objet prendra toujours plus de mémoire qu'un type primitif, mais en réalité, changer toutes vos valeurs booléennes en booléen n'aura pas d'impact notable sur l'utilisation de la mémoire.J'avais tort; c'est comme ça que ça marche en java avec booléen et booléen. En C #, bool et booléen sont les deux types de référence. Les deux d'entre eux stockent leur valeur directement dans la variable, les deux ne peuvent pas être nuls, et les deux nécessitent une méthode "convertTO" pour stocker leurs valeurs dans un autre type (tel que int). Peu importe celle que vous utilisez si vous avez besoin d'appeler une fonction statique définie dans la classe booléenne.
la source
bool
etBoolean
ne sont pas deux types différents, qu'un type est pas un type de référence, vous pouvez appeler une méthode statique que l' un de type en utilisant soit identifiant, et vous n'avez pas besoin de fait d'appeler uneConvertTo
méthode pour le convertir en un autre type.bool
etBoolean
sont les deux types de référence". Les motsbool
et lesBoolean
deux font référence au même type, et ce type est un type de valeur, pas un type de référence.bool est un alias pour Boolean. Les alias remplacent une chaîne de texte par une autre (comme search / replace-all dans notepad ++), juste avant la compilation du code. L'utilisation de l'un sur l'autre n'a aucun effet au moment de l'exécution.
Dans la plupart des autres langages, l'un serait un type primitif et l'autre serait un type d'objet (type valeur et type référence dans le jargon C #). C # ne vous donne pas la possibilité de choisir entre les deux. Lorsque vous souhaitez appeler une méthode statique définie dans la classe booléenne, elle traite automatiquement comme booléen un type de référence. Si vous créez une nouvelle variable booléenne, elle la traite automatiquement comme un type de référence (sauf si vous utilisez la méthode Activator.CreateInstance).
la source
Peut-être que bool est un peu "plus léger" que booléen; Fait intéressant, changer cela:
...pour ça:
... a fait germer mon fichier cs en "utilisant le système;" La modification du type en "bool" a fait griser les cheveux de la clause using.
(Visual Studio 2010, projet WebAPI)
la source
System.Boolean
plutôt que justeBoolean
. Leusing System;
se présentait parce qu'il permettaitBoolean
d'être correctement interprété commeSystem.Boolean
. Pas vraiment plus léger, mais moins bavard.