Я искал этот пункт и пока не получаю никакой информации !.
Я много видел видео и красную кучу статей о «Возвращении дохода», и я думаю, что я лучше понимаю об этом, но есть момент, который я не могу получить
Чтоправильный интерфейс я должен использовать возвращение в него?(Конечно, возвращение доходности будет использоваться в цикле, но в каком интерфейсе).
Я имею в виду, что в этой точке есть различия, я видел, как некоторые люди создавали "итератор" в пределах IEnumerator
, например:
static string[] Names = { "Name1", "Name2", "Name3" };
static IEnumerator Test()
{
for (int i = 0; i < Names.Length; i++)
{
yield return Names[i];
}
}
и некоторые другие используют IEnumerable
:
static IEnumerable Test()
{
for (int i = 0; i < Names.Length; i++)
{
yield return Names[i];
}
}
Я предполагаю, что лучше создать «Итератор», используя «Возврат доходности» внутри IEnumerable
интерфейс, потому что в общем случае IEnumerable отвечает за доступ к классу (точнее, возвращает экземпляр класса (Object)), который защищает логику итерации.и что именно происходит с компилятором (сахаром ключевого слова yield) в этом случае.
private static IEnumerable Test() => new <Test>d__1(-2);
//decompiled code of Test() method above Using reflector tool
Есть идеи по этому поводу?