c# yield
class Program
{
static int[,] _grid = new int[15, 15];
static void Main()
{
// Initialize some elements in 2D array.
_grid[0, 1] = 4;
_grid[4, 4] = 5;
_grid[14, 2] = 3;
// Sum values in 2D array.
int sum = 0;
foreach (int value in GridValues())
{
sum += value;
}
// Write result.
Console.WriteLine("SUMMED 2D ELEMENTS: " + sum);
}
public static IEnumerable GridValues()
{
// Use yield return to return all 2D array elements.
for (int x = 0; x < 15; x++)
{
for (int y = 0; y < 15; y++)
{
yield return _grid[x, y];
}
}
}
}
yield in c#
public void Consumer()
{
foreach(int i in Integers())
{
Console.WriteLine(i.ToString());
}
}
public IEnumerable Integers()
{
yield return 1;
yield return 2;
yield return 4;
yield return 8;
yield return 16;
yield return 16777216;
}
|