84 votes

Quelle est la valeur booléenne par défaut en C# ?

Un booléen ( bool ) ne peut pas être nul. Et:

 bool foo; if(foo){} // Use of unassigned local variable 'foo'

Pourquoi la valeur par défaut n'est pas false ? Alors quelle est la valeur si elle n'est pas nulle ? Quelle est la raison?

Edit 1 - La valeur par défaut est en effet false - mais toutes les variables doivent être initialisées, pourquoi ? c'est pour une autre question ;)

Edit 2 - avec Resharper : private bool foo = false; // Initializing field by default value is redundant ???

107voto

Destructor Points 559

http://msdn.microsoft.com/en-us/library/83fhsxwc.aspx

N'oubliez pas que l'utilisation de variables non initialisées en C# n'est pas autorisée.

Avec

 bool foo = new bool();

foo aura la valeur par défaut.

La valeur booléenne par défaut est false

10voto

Petar Ivanov Points 29530

La valeur par défaut est en effet false.

Cependant, vous ne pouvez pas utiliser une variable locale si elle n'a pas été affectée en premier.

Vous pouvez utiliser le mot-clé par défaut pour vérifier :

 bool foo = default(bool);
if (!foo) { Console.WriteLine("Default is false"); }

4voto

Corey Larson Points 723

La valeur par défaut de bool est false . Voir ce tableau pour une excellente référence sur les valeurs par défaut. La seule raison pour laquelle il ne serait pas faux lorsque vous le vérifierez, c'est si vous l'initialisez/le définissez sur vrai.

0voto

Saurabh Points 11097

Essayez ceci (en utilisant le mot-clé par défaut)

  bool foo = default(bool); if (foo) { } 

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