« Csharp 12 » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
(6 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 4 : | Ligne 4 : | ||
= [https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/tutorials/primary-constructors Primary constructors] = | = [https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/tutorials/primary-constructors Primary constructors] = | ||
{{warn | Default value parameters must be compile time consistant.}} | |||
<kode lang='cs'> | <kode lang='cs'> | ||
public class Item | public class Item | ||
Ligne 18 : | Ligne 19 : | ||
public class Item(string name) | public class Item(string name) | ||
{ | { | ||
public | public string Name { get; } = name; | ||
} | } | ||
</kode> | </kode> | ||
= [https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-12#collection-expressions Collection Expressions] = | |||
<kode lang='cs'> | |||
// initialization | |||
int[] a = [1, 2, 3]; | |||
List<int> l = [4, 5, 6]; | |||
// concat items from different collections with the spread element: ..e | |||
int[] all = [.. a, .. l]; // [1, 2, 3, 4, 5, 6]; | |||
</kode> | |||
= [[Parameter_modifiers#ref_readonly|ref readonly modifier]] = |
Dernière version du 16 septembre 2024 à 13:33
Links
Primary constructors
Default value parameters must be compile time consistant. |
public class Item { public readonly string Name { get; } public Item (string name) { Name = name; } } // equivalent with a primary constructor public class Item(string name) { public string Name { get; } = name; } |
Collection Expressions
// initialization int[] a = [1, 2, 3]; List<int> l = [4, 5, 6]; // concat items from different collections with the spread element: ..e int[] all = [.. a, .. l]; // [1, 2, 3, 4, 5, 6]; |