2011-06-21 10 views
5

duplicados posibles:
Lamda Explanation and what it is as well as a good example
What is the => token called?¿Qué hace '=>' en C#?

que he visto este código:

myContext.SomeEntities.Single(x => x.code == code); 

Y yo no sé lo que hace el operador => lo hacen.

Cada búsqueda en Google sobre el operador no arroja resultados.

Gracias.

+0

similar: http://stackoverflow.com/questions/5873603/whats-the-point-of-a-lambda-expression –

+0

http://stackoverflow.com/questions/274022/how-do-i-pronounce -as-used-in-lambda-expressions-in-net –

+0

@Steve: ¿Es eso incluso un duplicado? Ese usuario en su pregunta sabe lo que es una expresión lambda, @Javiere no lo hace. Él está preguntando qué => hace mucho como alguien preguntaría qué! signo lo hace. –

Respuesta

15

El operador => designa un Lambda Expression:

Una expresión lambda es una función anónima que puede contener expresiones y declaraciones, y se puede utilizar para crear delegados o tipos de árboles de expresión.

Todas las expresiones lambda utilizan el operador lambda =>, que se lee como "goes to". El lado izquierdo del operador lambda especifica los parámetros de entrada (si corresponde) y el lado derecho contiene el bloque de expresión o instrucción. La expresión lambda x => x * x se lee "x va a x veces x". Esta expresión se puede asignar a un tipo de delegado de la siguiente manera:

static void Main(string[] args) 
{ 
    Func<int, int> func = x => x * x; 
    int j = func(5); 
    // j == 25 
} 
+0

También he visto/escuchado "maps to" en lugar de "goes to". –

+0

+1 por tomar más tiempo, luego las otras respuestas, para copiar y pegar un presupuesto (aunque esto ya se haya cubierto) y proporcionar un ejemplo. – Nix

+0

@Richard: O "para qué" –

2

Esta es la definición de un lambda. Puedes leerlo "x va a x.code es igual a código", y significa que dado x, devuelve el resultado de la comparación dada.