C# Language Arguments optionnels


Exemple

Considérer précédent est notre définition de fonction avec des arguments facultatifs.

private static double FindAreaWithOptional(int length, int width=56)
       {
           try
           {
               return (length * width);
           }
           catch (Exception)
           {
               throw new NotImplementedException();
           }
       }

Ici, nous avons défini la valeur de largeur comme facultative et nous avons donné la valeur 56. Si vous remarquez, l'IntelliSense lui-même affiche l'argument facultatif, comme indiqué dans l'image ci-dessous.

entrer la description de l'image ici

Console.WriteLine("Area with Optional Argument : ");
area = FindAreaWithOptional(120);
Console.WriteLine(area);
Console.Read();

Notez que nous n'avons pas eu d'erreur lors de la compilation et cela vous donnera un résultat comme suit.

entrer la description de l'image ici

Utiliser un attribut facultatif.

Une autre façon d'implémenter l'argument optionnel consiste à utiliser le mot clé [Optional] . Si vous ne transmettez pas la valeur de l'argument facultatif, la valeur par défaut de ce type de données est affectée à cet argument. Le mot clé Optional est présent dans l'espace de noms «Runtime.InteropServices».

using System.Runtime.InteropServices;  
private static double FindAreaWithOptional(int length, [Optional]int width)
   {
       try
       {
           return (length * width);
       }
       catch (Exception)
       {
           throw new NotImplementedException();
       }
   } 

area = FindAreaWithOptional(120);  //area=0

Et quand nous appelons la fonction, nous obtenons 0 car le deuxième argument n'est pas passé et la valeur par défaut de int est 0 et donc le produit est 0.