IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

charouel

C# 6 : Expressions et littéraux

Noter ce billet
par , 03/02/2016 à 13h02 (447 Affichages)
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
var x = (var y=rnd(10);y*y);

Bizarre non ? C’est l’utilisation du point virgule qui fait tout ici. Il permet de chaîner des expressions, la valeur finale étant celle de la dernière.

Dans le code exemple cela attribuera à x la valeur du carré d’un nombre aléatoire (en supposant rnd() une fonction retournant un tel nombre).

L’intérêt ? Comme on le voit dans cet exemple il n’est pas toujours possible d’attribuer à une variable le résultat d’une suite d’opérations sans passer par un code intermédiaire. Ici effectuer le carré dans rnd() n’aurait pas la même signification, de même faire un rnd(10*rnd(10) effectuerait deux tirages au sort ce qui est très différent.

En chaînant les opérations par un point virgule on peut définir des valeurs complexes en faisant l’économie de plusieurs lignes de code “intermédiaire”.

Pas fantastique mais pouvant ajouter de la clarté au code.

Dans un même esprit :

Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
var y =  (int x = 3) * 3 ;

Ce code attribuera la valeur “9” à y en définissant “x” à 3…

C# 6 ajoutera comme Roslyn les littéraux binaires. Cela est parfois utile. On pourra donc écrire
var b = 0b0100; pour définir b à “100” binaire, soit 4 en décimal.

Comme le binaire ou l’hexadécimal sont généralement des valeurs qu’on peut découper en unités ayant un sens (par demi octet, octet, double, etc) il sera possible d’ajouter des soulignés pour séparer les groupes sans perdre le caractère numérique du littéral : int x = 0xFF_00_0A_A0 ; est plus lisible sans erreur que 0XFF000AA0;

On notera enfin que les méthodes statiques seront plus faciles à utiliser ce qui sera une vraie simplification. Prenons le code suivant :

Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
var b = Math.Sin(Math.Sqrt(5));

Il sera plus agréable d’écrire (et plus facile à lire) :

Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
using System.Maths; 
… 
var b = Sin(Sqrt(5));

Envoyer le billet « C#  6 : Expressions et littéraux » dans le blog Viadeo Envoyer le billet « C#  6 : Expressions et littéraux » dans le blog Twitter Envoyer le billet « C#  6 : Expressions et littéraux » dans le blog Google Envoyer le billet « C#  6 : Expressions et littéraux » dans le blog Facebook Envoyer le billet « C#  6 : Expressions et littéraux » dans le blog Digg Envoyer le billet « C#  6 : Expressions et littéraux » dans le blog Delicious Envoyer le billet « C#  6 : Expressions et littéraux » dans le blog MySpace Envoyer le billet « C#  6 : Expressions et littéraux » dans le blog Yahoo

Mis à jour 03/02/2016 à 13h22 par kolodz (Ajout langage à la balise code)

Catégories
Sans catégorie

Commentaires