102 votes

Valeurs de paramètre par défaut C# 4 : comment assigner une valeur de DateTime/objet par défaut ?

Si DateTime est un objet et C# paramètres par défaut ne peuvent être attribués des constantes de compilation, comment fournissez-vous des valeurs par défaut pour les objets tels que DateTime ?

Je suis en train d’initialiser des valeurs dans un POCO avec un constructeur, à l’aide des paramètres avec valeurs par défaut nommés.

186voto

Brian R. Bondy Points 141769

DateTime ne peut pas être utilisé comme une constante, mais vous pouvez faire un type nullable (DateTime?) à la place.

Donner l' DateTime? valeur par défaut null, et si elle est définie à l' null au début de votre fonction, vous pouvez l'initialiser à la valeur que vous souhaitez.

static void test(DateTime? dt = null)
{
    if (dt == null)
    {
        dt = new DateTime(1981, 03, 01);
    }

    //...
}

Vous pouvez l'appeler avec un nom de paramètre, comme ceci:

test(dt: new DateTime(2010, 03, 01));

Et avec le paramètre par défaut comme ceci:

test();

60voto

svick Points 81772

La seule façon vous pouvez le faire directement est d’utiliser la valeur , qui est la constante de compilation. Ou vous pouvez contourner ce à l’aide de et en affectant la valeur par défaut `` .

Voir aussi cela lié question sur `` .

8voto

conical Points 157

nouveau DateTime() équivaut également à DateTime.MinValue

Vous pourriez créer un paramètre par défaut comme suit.

4voto

Jonathan Allen Points 23540

Contrairement à VB, c# ne supporte pas les littéraux de date. Et étant donné que les paramètres facultatifs ressemblent à ceci à Illinois, vous ne peut pas le faux avec des attributs.

-1voto

Jom George Points 609
<pre><code></code><p>Nous pouvons assigner de valeur à une étiquette comme ci-dessous,</p><pre><code></code></pre><p>Aussi, nous pouvons obtenir la valeur,</p><pre><code></code></pre></pre>

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