J'ai lu qu'il y a de bonnes raisons d'utiliser des propriétés au lieu de champs dans C# sur SO. Donc maintenant je veux convertir mon code d'utiliser les champs pour utiliser les propriétés.Existe-t-il un moyen élégant de définir une valeur par défaut pour une propriété dans C#?
Pour un champ d'instance d'une classe, je peux définir une valeur par défaut. Par exemple:
int speed = 100;
Pour la propriété équivalente, qui je pense est:
int Speed { get; set; }
Ma compréhension est que la propriété de vitesse sera initialisée à zéro lorsque la classe est instancié. J'ai été incapable de trouver comment définir une valeur par défaut pour facilement mettre à jour mon code. Existe-t-il un moyen élégant de fournir une valeur par défaut pour une propriété?
Il semble qu'il devrait y avoir une manière élégante de faire ceci, sans employer un constructeur, mais je ne peux juste pas savoir comment.
Quel est le problème avec l'aide d'un constructeur? Ou en utilisant une propriété avec un champ de sauvegarde défini manuellement au lieu d'une auto-propriété? –
Cela rendrait ma tâche de conversion plus facile si je pouvais changer le champ en une propriété au même endroit que le champ précédemment déclaré. En utilisant un constructeur, je devrais faire défiler mon code pour faire le changement. Je n'étais pas au courant que vous pouviez utiliser un champ de sauvegarde initialisé. –
Nouveau dans C# 6: [Initializers pour auto-propriétés] (https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6#auto-property-enhancements) –