Yield的目的是什么?它是如何工作的?

Lan*_*art 6 c# yield-return

在仔细阅读推特的同时,我发现游戏开发者发了一条推文.

@ChevyRay 2:44 AM - 2016年7月5日
我给你:我写过的最愚蠢的8行代码,实际上是我的游戏代码使用的

static IEnumerable<int> RightAndleft
{
    get
    {
        yield return 1;
        yield return -1;
    }
}
Run Code Online (Sandbox Code Playgroud)

我立刻看着它,心里想着这是做什么的?我确定这篇文章的意思是一个玩笑,但我只是没有得到它.所以,我去了研究,yield但这并没有真正回答我的问题.

我想知道这里是否有人可以首先阐明它正在做什么以及为什么.