Question

Quelle est la différence entre les types bool et Boolean en C #?

Était-ce utile?

La solution

bool est un alias pour System.Boolean , tout comme int est un alias pour System.Int32 . Consultez la liste complète des alias ici: Table des types intégrés (référence C #) .

Autres conseils

Je ne crois pas qu'il en existe un.

bool n'est qu'un alias pour System.Boolean

Ils sont un dans le même. bool est juste un alias pour booléen.

Il n'y a pas de différence - bool est simplement un alias de System.Boolean.

http://msdn.microsoft.com/en -us / library / c8f5xwh7 (VS.71) .aspx

Je réalise que cela se passe de nombreuses 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 dès maintenant.

VS2005

  

Remarque:

     

Si vous avez besoin d'une variable booléenne pouvant également avoir la valeur null, utilisez bool.   Pour plus d'informations, consultez Types nullables (Guide de programmation C #).

VS2010

  

Remarque:

     

Si vous avez besoin d'une variable booléenne pouvant également avoir la valeur null, utilisez bool ?.   Pour plus d'informations, consultez Types nullables (Guide de programmation C #).

Ils sont les mêmes. La méthode booléenne simplifie la conversion entre C # et VB.Net. La plupart des programmeurs C # ont tendance à préférer "bool", 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 cela fonctionne aux deux endroits.

L'un est un alias pour l'autre.

Comme on l’a dit, ce sont les mêmes. Il y en a deux car bool est un mot clé C # et Boolean une classe .Net.

bool est un alias pour la classe Boolean. 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.

Ils sont identiques, Bool est simplement System.Boolean raccourci. Utilisez Boolean lorsque vous utilisez un programmeur VB.net, car il fonctionne à la fois en C # et en Vb

Notez que Boolean ne fonctionnera que si utilise System; (généralement, mais pas nécessairement, inclus) (à moins que vous ne l'écriviez sous la forme System.Boolean ). bool n'a pas besoin de avec System;

bool est un type primitif, ce qui signifie que la valeur (true / false dans ce cas) est stockée directement dans la variable. Boolean est un objet. Une variable de type Boolean stocke une référence à un objet Boolean. La seule vraie différence est le stockage. Un objet utilisera toujours plus de mémoire qu'un type primitif, mais en réalité, changer toutes vos valeurs booléennes en bool n'aura aucun impact notable sur l'utilisation de la mémoire.

je me suis trompé; c'est comme ça que ça marche en java avec booléen et booléen. En C #, bool et Boolean sont 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 un "convertTO". méthode pour stocker leurs valeurs dans un autre type (tel que int). Si vous avez besoin d'appeler une fonction statique définie dans la classe booléenne, son importance dépend uniquement de celle que vous utilisez.

Peut-être que bool est un peu "plus léger" que booléen; Fait intéressant, changer ceci:

namespace DuckbillServerWebAPI.Models
{
    public class Expense
    {
        . . .
        public bool CanUseOnItems { get; set; }
    }
}

... à ceci:

namespace DuckbillServerWebAPI.Models
{
    public class Expense
    {
        . . .
        public Boolean CanUseOnItems { get; set; }
    }
}

... a fait germer un fichier "cs" dans "mon système"; Remettre le type en "bool". a rendu gris les cheveux de la clause using.

(Visual Studio 2010, projet WebAPI)

bool est un alias pour Boolean. Ce que les alias font, c'est remplacer une chaîne de texte par une autre (comme chercher / remplacer-tout dans le bloc-notes ++), 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, un type 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 Boolean, elle traite automatiquement comme par magie Boolean en tant que type de référence. Si vous créez une nouvelle variable booléenne, elle sera automatiquement traitée comme un type de référence (sauf si vous utilisez la méthode Activator.CreateInstance).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top