Skip to content

Instantly share code, notes, and snippets.

@jsmarble
Created January 20, 2024 22:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jsmarble/9e0b835433a3d7f99f0895a27b4622ae to your computer and use it in GitHub Desktop.
Save jsmarble/9e0b835433a3d7f99f0895a27b4622ae to your computer and use it in GitHub Desktop.
Yield Return Example
class Program
{
static void Main(string[] args)
{
var numbers = LoadNumbersUsingList(1, 10);
WriteNumbers(numbers);
numbers = LoadNumbersUsingYield(1, 10);
WriteNumbers(numbers);
Console.ReadLine();
}
static IEnumerable<int> LoadNumbersUsingList(int minimum, int maximum)
{
List<int> numbers = new List<int>(maximum - minimum);
for (int i = minimum; i <= maximum; i++)
numbers.Add(i);
return numbers;
}
static IEnumerable<int> LoadNumbersUsingYield(int minimum, int maximum)
{
for (int i = minimum; i <= maximum; i++)
yield return i;
}
static void WriteNumbers(IEnumerable<int> numbers)
{
foreach (int number in numbers)
Console.WriteLine(number);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment