mirror of
https://github.com/JG2401/CsharpVersionHistory.git
synced 2026-08-28 20:20:10 +00:00
version 4.0 - 13.0 (AI generated)
This commit is contained in:
74
Version12.0/README.md
Normal file
74
Version12.0/README.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# C# Version 12.0
|
||||
|
||||
Veröffentlicht im November 2023.
|
||||
|
||||
## Neue Features
|
||||
|
||||
### Primäre Konstruktoren
|
||||
Erstellen Sie Konstruktoren direkt in der Klassen- oder Strukturdefinition.
|
||||
|
||||
```csharp
|
||||
public class Person(string name, int alter)
|
||||
{
|
||||
public string Name { get; } = name;
|
||||
public int Alter { get; } = alter;
|
||||
}
|
||||
```
|
||||
|
||||
### Sammlungsausdrücke
|
||||
Neue Syntax für die Erstellung und Erweiterung von Sammlungen.
|
||||
|
||||
```csharp
|
||||
int[] zahlen = [1, 2, 3];
|
||||
int[] mehrZahlen = [..zahlen, 4, 5];
|
||||
```
|
||||
|
||||
### Inlinearrays
|
||||
Arrays mit fester Größe direkt in einem `struct`.
|
||||
|
||||
```csharp
|
||||
public struct Buffer
|
||||
{
|
||||
private inline int[8] data;
|
||||
}
|
||||
```
|
||||
|
||||
### Optionale Parameter in Lambdaausdrücken
|
||||
Lambda-Parameter können Standardwerte haben.
|
||||
|
||||
```csharp
|
||||
Func<int, int, int> addiere = (a, b = 1) => a + b;
|
||||
```
|
||||
|
||||
### ref readonly-Parameter
|
||||
Mehr Klarheit für APIs mit `ref`- oder `in`-Parametern.
|
||||
|
||||
```csharp
|
||||
void Print(ref readonly int x)
|
||||
{
|
||||
Console.WriteLine(x);
|
||||
}
|
||||
```
|
||||
|
||||
### Alias eines beliebigen Typs
|
||||
`using` kann für jeden Typ als Alias verwendet werden.
|
||||
|
||||
```csharp
|
||||
using Ganzzahl = System.Int32;
|
||||
Ganzzahl x = 5;
|
||||
```
|
||||
|
||||
### Experimentattribute
|
||||
Kennzeichnen Sie experimentelle Features.
|
||||
|
||||
```csharp
|
||||
[Experimental]
|
||||
void NeueFunktion() { }
|
||||
```
|
||||
|
||||
### Interceptors (Preview)
|
||||
Erlauben das Abfangen und Modifizieren von Methodenaufrufen (nur als Preview verfügbar).
|
||||
|
||||
---
|
||||
|
||||
C# 12.0 bringt neue Syntax und Features für produktiveren und konsistenteren Code.
|
||||
Reference in New Issue
Block a user