If you have played around in C# enough, you will have come across this mystifying keyword, ‘yield’. Here I will try to explain in a nutshell what it does.
Say that you have a function like this:
void SomeFunction(){ //code A... yield return something; //code B... }
To understand what yield does, I will run you through the execution of the function. First, code A is executed. Then, SomeFunction is paused until something iterates over the next value. If something is a list, it will move to the next item and execution of SomeFunction will resume. If something is a function, it will get executed and when it finishes, SomeFunction will resume.
In a nutshell, this is how ‘yield’ works.