J'écris une application, où j'ai pas mal de propriétés de type booléen définies:
private bool kajmak = true;
public bool Kajmak
{
get { return kajmak ; }
set { kajmak = value; FirePropertyChanged(() => Kajmak); }
}
Comme vous le voyez, je règle kajmak
sur true
au début ..- la raison n’est pas pertinente-. (Vous savez peut-être que la valeur default d'une variable bool est false ).
Y a-t-il moyen de changer la valeur par défaut de bool
en true
? Alors j'écrirais:
private bool kajmak; //kajmak = true
au lieu de
private bool kajmak = true;
Que pourrais-je faire pour y parvenir?
Comme les booléens sont faux par défaut, j'utilise des formes positives dans mes noms, telles que IsInitialized
, HasSomething
etc. que je veux être fausse par défaut jusqu'à ce que je les définisse explicitement.
Si vous estimez que quelque chose doit être vrai par défaut, vous devrez peut-être renommer votre variable afin que cela ait plus de sens lorsque la valeur par défaut est false.
C Sharp 6.0 a introduit une nouvelle manière agréable de faire cela:
public bool YourBool { get; set; } = true;
Ceci est équivalent à l'ancienne façon de:
private bool _yourBool = true;
public bool YourBool
{
get { return _yourBool; }
set { _yourBool = value; }
}
voir cet article http://blogs.msdn.com/b/csharpfaq/archive/2014/11/20/new-features-in-c-6.aspx
Non. Il n'y a aucun moyen de changer la valeur par défaut attribuée par .NET. Votre meilleur choix est d’affecter la valeur par défaut appropriée au membre privé:
private book kajmak = false;
Ou utilisez le constructeur comme vous êtes supposé et attribuez les classes par défaut:
public class SomeClass
{
public SomeClass()
{
Kajmak = false;
}
public book Kajmak { get; set; }
}
En service:
public bool Kajmak { get; set; } = true;
Non, il n'y a aucune possibilité de changer la valeur par défaut. Si vous pouviez changer la valeur par défaut, ce ne serait plus la valeur par défaut;).
Mais pour définir la valeur par défaut sur null, vous pouvez utiliser ceci:
bool? kajmak;
Mais ce n'est pas ce que tu veux ...
En train d'essayer de faire quelque chose de similaire, un collègue m'a éclairé sur le bool? type. Il peut être vrai, faux ou nul et ne s'oppose pas à être du côté gauche d'un tel comparateur. Cela ne répond pas à votre question sur la méthode par défaut bool to true, mais résout votre problème conceptuel consistant à vouloir que vos variables puissent être définies comme true par défaut.
Je poste uniquement parce que c’était le meilleur résultat lors de ma recherche et que cette information m’était utile. J'espère que ce sera à d'autres qui trouveront cette page.