I'm curious in which version of C# was the `yield return x` syntax added and which versions of .NET support it?

```
public IEnumerable<string> GetFoo(List<object> values)
{

    foreach(var item in values)
    {
        yield return item.ToString();
    }
}

```