Je définis ces variables dans mon code, je souhaite les initialiser en une seule étape, comment puis-je faire cela? >
3 Réponses :
Le mieux que je connaisse est celui-ci.
int currentYearSavingDays, currentYearSavingXMins, currentYearSavingNXMins, currentYearUsedDays, currentYearUsedXMins, yearLimitRemainingDays, yearLimitRemainingXMins, totalYearlyDays, totalYearlyXMins, totalSavingDays, totalSavingMins, totalUsableDays, totalUsableMins, nextYearTotalUsableDays, nextYearTotalUsableMins, dayWorkMinutes, previousYearRemainingDays, previousYearRemainingMins; currentYearSavingDays = currentYearSavingXMins = currentYearSavingNXMins = currentYearUsedDays = currentYearUsedXMins = yearLimitRemainingDays = yearLimitRemainingXMins = totalYearlyDays = totalYearlyXMins = totalSavingDays = totalSavingMins = totalUsableDays = totalUsableMins = nextYearTotalUsableDays = nextYearTotalUsableMins = dayWorkMinutes = previousYearRemainingDays = previousYearRemainingMins = 0;
Je froncerais les sourcils à l'idée de les déclarer tous en même temps. En plus d'être moche à lire, ce n'est pas nécessaire.
Au lieu de cela, cela semble être un excellent candidat pour un ensemble de champs pour un class ou struct .
En C #, type de valeur a> les champs sont alloués et automatiquement initialisés à leur valeur par défaut par gestionnaire de mémoire . Donc, dans ce cas particulier, si vous aviez créé une nouvelle classe / structure uniquement pour ces valeurs, vous n’auriez pas à les initialiser explicitement.
Notez que vous pouvez simplement les laisser en tant que champs dans la classe actuelle aussi longtemps que vous faites attention de ne pas enfreindre le principe de responsabilité unique .
Notez également que la stratégie décrite dans cette réponse ne fonctionnera pas s'il s'agit de variables locales . Comme cette réponse l'explique, alors que la sémantique d'initialisation est la même, l'utilisation de variables locales non initialisées est généralement un bogue et n'est pas autorisée en C #. Dans ce cas, il vaudrait mieux, à mon avis, déclarer et initialiser chaque variable sur sa propre ligne.
Ouais ... je suis d'accord. "... déclarer et initialiser chaque variable sur sa propre ligne."
Vous pouvez déclarer et initialiser comme ceci:
int iOne,iTwo,iThree;
L'initialisation de la variable est facultative
Cette ligne
int iOne = 1, iTwo = 2, iThree = 3;
Aurait toutes les variables mises à zéro.
currentYearSavingDays = currentYearSavingXMins = .... = 0