Witam
Szukałem wyjaśnienia yield return w C# i natrafiłem na ciekawą metodę, a mianowicie static IEnumerable<int> Filter().
Czy mógłby mi ktoś wytłumaczyć dlaczego to działa, jak metoda może zwracać interfejs?
Przepraszam jeśli strzeliłem głupotę ale dopiero się uczę. Dziękuję i Pozdrawiam.
Źródło:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace YieldReturn
{
class Program
{
static List<int> MyList = new List<int>();
static void Main(string[] args)
{
FillList();
foreach (int n in Filter())
{
Console.WriteLine(n.ToString());
}
}
static void FillList()
{
MyList.Add(1);
MyList.Add(2);
MyList.Add(3);
MyList.Add(4);
MyList.Add(5);
}
static IEnumerable<int> Filter()
{
foreach(int i in MyList)
{
if(i>3)
{
yield return i;
}
}
}
}
}