tech · 2 min de lecture

Java Vs C# : Les paramètres nommés et optionnels en C#

Comparaison de Java et C# sur les paramètres nommés et optionnels

Hugo
Hugo3 févr. 2011 · 2 min
Java Vs C# : Les paramètres nommés et optionnels en C#

Warning, warning, ceci n'est pas une rubrique à troll !!

Bien qu'étant plutot spécialiste Java, je me suis mis récemment au C#. Loin des débats qui n'en finissent plus pour savoir lequel des deux p... le plus loin, je tenais à faire une petite rubrique pour lister "les trucs qui tuent" qui existent dans chaque langage et que tout bon développeur aime connaitre.

Et donc le truc qui tue du jour :

Les paramètres nommés optionnels en C#

C# 4.0 a introduit un concept très sympathique, déjà connu pour ceux qui pratique le python et plutôt évident pour les adeptes de jQuery, les paramètres nommés et optionnels.

Les paramètres nommés existent déjà depuis la version 1.0 du framework, ils permettent notamment d'écrire ceci :

csharp
public void MaMethode(string Arg1, string Arg2)
{
    // ...
}
...

myObject.MaMethode(Arg1:"un argument", Arg2:"un autre argument");

Ok, jusqu'ici, rien de transcendant. C'est verbeux même si ca permet de lever quelques ambiguïtés parfois.

Par contre avec la version 4.0, désormais vous pouvez aussi utiliser des valeurs par défaut et des paramètres optionnels et là ça devient puissant :

csharp
public void MaMethode(string Arg1="une valeur", string Arg2="une autre valeur")
{
    // ...
}

ce qui permet de faire les appels suivants :

csharp
myObject.MaMethode();
myObject.MaMethode(Arg1:"une valeur différente");
myObject.MaMethode(Arg2:"une valeur différente",Arg1:"dans un autre ordre");

Et en Java ? Rien de prévu de ce côté là malheureusement, aucune des deux prochaines version 7 et 8 n'abordent ce cas. On pourra se consoler avec le chainage des méthodes proposé ici et  qui peut éventuellement fonctionner pour des constructeurs mais qui sont loin d'être aussi puissant.

Hugo

Écrit par

Hugo

Software Engineer with more than 20 years of experience. I love to share about technologies and startups

Vous avez aimé ce récit ?

Environ un mail par mois, quand un texte mérite d'être écrit. Vos lecteurs restent vos lecteurs.

205 abonnés · désabonnement en un clic

À lire aussi

Java Vs C# : La gestion des exceptions

Comparaison de Java et C# sur la gestion des exceptions

23 mars 2011
Java Vs C# : La gestion des exceptions

Java Vs C# : Eviter les conflits de nom dans les interfaces

Comparaison de Java et C# sur les conflits de nom dans les interfaces

29 mars 2011
Java Vs C# : Eviter les conflits de nom dans les interfaces

Java Vs C# : Les types valeurs en C#

Comparaison de Java et C# sur les types valeurs

1 mai 2011
Java Vs C# : Les types valeurs en C#

Réponses

0 Commentaire

Pas encore de commentaire. Soyez le premier !