|
Microsoft .Net-Samples
|
Verwenden von ASYNC-Methode und ref, unsafe, und iterationen. Dazu kommen noch Funtionen mit YIELD (Iteratoren-Thema). More...
Static Public Member Functions | |
| static async Task< string > | _UseLocalParameterAsync (int _MaxForIntValue, int _Version) |
| Berechnung einer Summe nach 2 verschiedenen Task-Varianten cbOption01.Checked und cbOption02.Checked. | |
| static IEnumerable< string > | _GetNameFromRefStringArray (ref string[] _FirstNameArray) |
| Rückgabe eines IEnumerable-Sring aus einem String-Array cbOption03.Checked. | |
| static IEnumerable< int > | _ProduceEvenNumbers (int upto) |
| Rückgabe eines IEnumerable-Int Value cbOption04.Checked. | |
| static System.Collections.Generic.IEnumerable< int > | _GetValueFromYield_1000 () |
| Anwendung yield Statement. | |
| static System.Collections.Generic.IEnumerable< string > | _GetValueFromYield_1101 () |
| cbOption06.Checked: Gibt eine String-Liste (1 Eintrag) zurück. Task.Run().AWAIT Funktion mit Lambda-Expression | |
| static System.Collections.Generic.IEnumerable< string > | _GetValueFromYield_1102 () |
| cbOption06.Checked: Gibt eine String-Liste (1 Eintrag) zurück. Task.Run() Funktion mit Lambda-Expression | |
| static async IAsyncEnumerable< int > | _GenerateNumbersAsync (int count) |
| cbOption08.Checked: Wozu soll ich ein solches Muster verwenden??? | |
Static Private Member Functions | |
| static async Task< int > | _ProduceNumberAsync (int seed) |
| cbOption08.Checked=>_GenerateNumbersAsync()=>_ProduceNumberAsync() | |
Verwenden von ASYNC-Methode und ref, unsafe, und iterationen. Dazu kommen noch Funtionen mit YIELD (Iteratoren-Thema).
Remarks:
|
static |
cbOption08.Checked: Wozu soll ich ein solches Muster verwenden???
| count |
https://learn.microsoft.com/de-de/dotnet/csharp/language-reference/statements/yield
|
static |
Rückgabe eines IEnumerable-Sring aus einem String-Array cbOption03.Checked.
| _FirstNameArray |
Remarks:
|
static |
Anwendung yield Statement.
cbOption05.Checked
Remarks:
Dieses Beispiel macht eigentlich keinen Sinn, denn relevant ist nur der yield return. Der Rest ist eigentlich einfach nur blödsinn! Innerhalb des async kann eine Lamdba-Funktion implementiert und ausgeführt werden.
https://learn.microsoft.com/de-de/dotnet/csharp/language-reference/statements/yield
Call local-Methode
Basis-Signatur wie bei einem Click-Element
|
static |
cbOption06.Checked: Gibt eine String-Liste (1 Eintrag) zurück. Task.Run().AWAIT Funktion mit Lambda-Expression
Remarks:
|
static |
cbOption06.Checked: Gibt eine String-Liste (1 Eintrag) zurück. Task.Run() Funktion mit Lambda-Expression
Remarks:
|
static |
Rückgabe eines IEnumerable-Int Value cbOption04.Checked.
| upto |
|
staticprivate |
|
static |
Berechnung einer Summe nach 2 verschiedenen Task-Varianten cbOption01.Checked und cbOption02.Checked.
Task-Methode zur Berechnung, verwenden von out und/oder ref Parameter aktuell in diesem Projekt nicht möglich! Das Thema ASYNC wird in den Versionen (0 und 1) ebenfalls etwas genauer betrachtet. In einem Task mit Lambda-Code kann man das Ganze einfach zu sehr verschachtel, ohne dass es das braucht.
| _MaxForIntValue | |
| _Version |
///
Remarks:
| Versionen (parameter):_Version | Version-0: Überflüssiger Lamdda-Code im Task mit einem zusätzlichen async und await. Version-1: reicht für das Ganze vorhaben völlig aus! |
| Projekt-Einstellunen | Habe den unsafe Kontext nicht angewendet, da diese Einstellung in den Projekt Eigenschaften gemacht werden muss. [Kapitel: Build:Unsafe] Link: https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-13.0/ref-unsafe-in-iterators-async |
| Artikel zu C#-13 | Vor C# 13 führte die Verwendung von Referenzvariablen oder unsicherem Code innerhalb einer asynchronen Methode oder einer Iteratormethode zu einem Compilerfehler, da potenzielle Probleme mit der Lebensdauer und der Zustandsautomatensicherheit bestanden. C# 12 bietet nun Sprach- und Compilerunterstützung, um dies in mehr Szenarien sicher zu ermöglichen. Link: https://c-sharptutorial.com/csharparticles/ref-locals-and-unsafe-contexts-in-csharp Status-Quo: 24.02.2026 => es gibt noch immer Fehler im Compiler mit ref und async! |
Operation: Summierung
Unnötige zusätzliche async Operation!
Diese Version reicht für async