У чому користь yield?
Приклад на С#.
Повертаємо колекцію за допомогою yield
.
public static class Foo
{
public static IEnumerable Test()
{
var rand = new Random().Next(1, 3);
if (rand == 1)
yield return 1;
if (rand == 2)
yield return 2;
yield return 3;
yield return "foo";
yield return true;
}
}
Приклад 2. Повертаємо колекцію за допомогою звичайного списка.
public static class Foo1
{
public static IEnumerable Test()
{
var list = new List();
var rand = new Random().Next(1, 3);
if (rand == 1)
list.Add(1);
if (rand == 2)
list.Add(2);
list.Add(3);
list.Add("foo");
list.Add(true);
return list;
}
}
Результат рівнозначний, питання - навіщо тоді взагалі потрібен yield
, якщо можна обійтися таким кодом? Або yield
використовується там, де код з new List()
з якихось причин неможливий?
Коментарі (0)
Щоб залишити коментар необхідно авторизуватися.
Ще немає коментарів