Uso de yield C#

etSq-1

Uso de yield C#

Nosotros los desarrolladores de C# conocemos todas las características comunes y básicas de este lenguaje, pero que hay de las características  más ocultas  de C#, que hasta adictos a C# , expertos y profesionales raramente conocen ?

Este post será el primero de una serie donde hablaremos de esas características poco conocidas por todos.

Cuando se utiliza la palabra clave yield en una sentencia, indicamos que el método, operador o de acceso Get en el que aparece es un iterador.

nota : iterador, devuelve cada elemento de uno en uno.

Si usamos yield , eliminamos la necesidad de definir una clase explícita extra para implementar un iterador.

declaración  de yield.

yield return <expression>;
yield break;

visto es manos a la obra vamos a escribir un poco de código.

El siguiente ejemplo tiene una sentencia return yield que está dentro de un bucle. Cada iteración del cuerpo de la declaración foreach en proceso crea una llamada a la función de repetidor de potencia. Cada llamada a la función de repetidor procede a la siguiente ejecución de la sentencia de return yield, que se produce durante la siguiente iteración del bucle.

public class ejemploblogmatias
{
     static void Main()
 {
 // muestra la potencia de 2 , 20 veces:
 foreach (int i in Power(2, 20))
 {
 Console.Write("{0} ", i);
 Console.ReadLine();
 }
 }

 public static System.Collections.Generic.IEnumerable<int> Power(int number, int exponent)
 {
 int result = 1;

 for (int i = 0; i < exponent; i++)
 {
 result = result * number;
 yield return result;
 }
 }

 
 }
}

Esto es todo si quieres saber más sobre este tema visita el siguiente link , Happy coding cualquier duda o comentario , no dejes de comentarnos hasta la próxima

Comments

Dejar una contestacion

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *