Junior — Middle
Ako sa realizuje odložené spracovanie údajov pri ich prijímaní zo zdroja?
sobes.tech AI
Odpoveď od AI
V jazyku C# je odložená spracovanie údajov pri ich získavaní zo zdroja zvyčajne implementované pomocou lenivých kolekcií a iterátorov, s použitím kľúčového slova yield. To umožňuje získavať a spracovávať prvky podľa potreby, namiesto načítania všetkých údajov naraz.
Príklad použitia yield pre odložené spracovanie:
IEnumerable<int> GetNumbers()
{
for (int i = 0; i < 10; i++)
{
yield return i; // vracia jeden prvok počas iterácie
}
}
foreach (var number in GetNumbers())
{
Console.WriteLine(number); // prvky sa spracovávajú na požiadanie
}
Pre asynchrónne odložené spracovanie je možné použiť IAsyncEnumerable<T> a await foreach v novších verziách C#.
Týmto spôsobom odložené spracovanie pomáha šetriť pamäť a zvyšovať výkon, najmä pri práci s veľkými objemami údajov.