Junior — Middle
Ինչ տարրերից է բաղկացած C#-ի foreach օպերատորի ներքին կառուցվածքը։
sobes.tech AI
Պատասխան AI-ից
C#-ում foreach օպերատորի ներսի կառուցվածքը հիմնված է IEnumerable ինտերֆեյսի և դրա GetEnumerator() մեթոդի օգտագործման վրա։ Հիմնական տարրերը՝
IEnumerable-ին իրագործող հավաքածու — օբյեկտ, որի վրա կատարվում է կրկնություն։- Enumerator (հաշվիչ), որը իրագործում է
IEnumerator— օբյեկտ, որը կառավարում է հավաքածուի կրկնությունը։ - Մեթոդ
MoveNext()— տեղափոխում է ցուցիչը հաջորդ տարրին։ - Աշխատանք
Current— վերադարձնում է ընթացիկ տարրն ու հավաքածուից։
Ինչ է տեղի ունենում հետևի մասում՝
IEnumerable collection = ...;
IEnumerator enumerator = collection.GetEnumerator();
while (enumerator.MoveNext())
{
var item = enumerator.Current;
// foreach ցիկլի մարմինը
}
Այսպիսով, foreach հեշտացնում է կրկնության հետ աշխատանքը, թաքցնելով GetEnumerator(), MoveNext() և Current-ին հասանելիության մանրամասները։