CSharp 6
De Banane Atomic
Aller à la navigationAller à la recherche
Opérateur conditionnel null ?.
Interpolation de chaînes
Initialiseurs de propriétés automatiques
- Permet d'initialiser les propriétés automatiques à la déclaration et non plus dans le constructeur.
- Permet d'avoir des propriétés automatiques en lecture seule.
// propriété initialisée à 45, plus besoin de le faire dans le constructeur public int MaPropriété { get; set; } = 45; // propriété en lecture seule initialisée à 45 public int MaPropriété { get; } = 45; // propriété en lecture seule, elle pourra néanmoins être initialisée dans le constructeur public int MaPropriété { get; } |
Imports statiques
Permet d'importer tous les membres statiques d'une classe.
Ici on importe les membres statiques de System.Console, on peut donc appeler la méthode WriteLine sans la préfixer de Console comme si elle était une méthode statique de la classe courante.
using System; using static System.Console; WriteLine("Hello!"); // équivalent using System; Console.WriteLine("Hello!"); |
Expression-bodied members
Permet une écriture plus concise des propriétés et méthodes constitués uniquement d'une instruction return.
public string NomComplet => $"{Prénom} {Nom}"; // équivalent à public string NomComplet { get { return $"{Prénom} {Nom}"; } } |
Initialiseurs de membres indexés
new Dictionary<string, int> { ["a"] = 1, ["b"] = 2 }; // équivalent à new Dictionary<string, int> { { "a", 1 }, { "b", 2 } }; |
await dans les blocs catch et finally
Filtres d'exception
catch(IOException ex) if (ex.HResult == 0x80070020) { } catch(IOException ex) if (ex.HResult == 0x80070035) { } |
nameof
Renvoi le nom d'un symbole sous la forme d'une chaîne de caractères
string s = nameof(Console.Write); // renvoie "Write" |