C # 4.0 - Comment gérer les paramètres de chaîne optionnels

Ce code n'est pas valide:

private void Foo(string optionalString = string.Empty)
{
   //do foo.
}

Mais ce code est:

private void Foo(string optionalString = "")
{
   //do foo.
}

Pourquoi? Car les chaînes de caractères.Vide est un champ en lecture seule, pas une constante, et les valeurs par défaut pour les paramètres facultatifs doit être une constante de compilation.

Donc, sur ma question... (enfin, préoccupation)

C'est ce que j'ai eu à faire:

private const string emptyString = "";

private void Foo(string optionalString = emptyString)
{
   //do foo.
   if (!string.IsNullOrEmpty(optionalString))
      //etc
}

Comment faites-vous pour gérer option paramètres de la chaîne?

Pourquoi ne peuvent-ils pas faire Chaîne de caractères.Vide une constante de compilation?

source d'informationauteur RPM1984