« CSharp 7.1 » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
Aucun résumé des modifications |
|||
Ligne 14 : | Ligne 14 : | ||
// is replaced by (its type is inferred by target-typing instead) | // is replaced by (its type is inferred by target-typing instead) | ||
int i = default; | int i = default; | ||
</kode> | |||
= [https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-7.1/infer-tuple-names Infer tuple names] = | |||
<kode lang='cs'> | |||
list.Select(x => (P1: x.P1, P2: x.P2)); | |||
// is replaced by (tuple names are inferred) | |||
list.Select(x => (x.P1, x.P2)); | |||
</kode> | </kode> |
Version du 15 décembre 2021 à 16:48
Async Main
Program.cs |
// the following methods are now allowed entrypoints: static async Task Main() { } static async Task Main(string[] args) { } static async Task<int> Main() { } static async Task<int> Main(string[] args) { } |
Target-typed "default" literal
int i = default(int); // is replaced by (its type is inferred by target-typing instead) int i = default; |
Infer tuple names
list.Select(x => (P1: x.P1, P2: x.P2)); // is replaced by (tuple names are inferred) list.Select(x => (x.P1, x.P2)); |