- 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; }
|
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!");
|
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}";
}
}
|
|
new Dictionary<string, int>
{
["a"] = 1,
["b"] = 2
};
// équivalent à
new Dictionary<string, int>
{
{ "a", 1 },
{ "b", 2 }
};
|
|
catch(IOException ex) if (ex.HResult == 0x80070020)
{
}
catch(IOException ex) if (ex.HResult == 0x80070035)
{
}
|
Renvoi le nom d'un symbole sous la forme d'une chaîne de caractères
|
string s = nameof(Console.Write); // renvoie "Write"
|