4
votes

Comment définir plusieurs valeurs de variables sur une ligne en C #?

Je définis ces variables dans mon code, je souhaite les initialiser en une seule étape, comment puis-je faire cela? >

c#

1 commentaires

currentYearSavingDays = currentYearSavingXMins = .... = 0


3 Réponses :


5
votes

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;


0 commentaires

5
votes

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 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.


1 commentaires

Ouais ... je suis d'accord. "... déclarer et initialiser chaque variable sur sa propre ligne."



0
votes

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.

Variables Microsoft Docs


0 commentaires