Así que vamos por partes.
Que necesito para entender LINQ?
Voy a enumerar las características o conceptos que debemos entender para poder hacer consultas con LINQ. Los que ya he tratado en algún post, tendrán un enlace para poder visitar el tema a detalle.Métodos de extensión.
Estos métodos nos permiten agregar nuestros propios métodos a tipos ya existentes, sin tener que derivar o recompilar, o tener que modificar el código original.Son un tipo especial de método que es llamado como si fuera parte de la clase instanciada del tipo para el cual fue creado el método de extensión. Los métodos extendidos más famosos los podemos encontrar en LINQ, y le añaden funcionalidad extra a IEnumerable y a IEnumerable<T>.
Inicializadores de Objetos.
Desde la versión 3.0 de C# se introdujo un atajo en la forma de inicializar un objeto. El cual nos permite crear una instancia y asignar los valores a sus propiedades en una sola declaración.De esta forma cuando creamos la instancia, el intellisense nos presentara las propiedades que podemos inicializar.
Aun que parecer algo muy trivial, la repercusión en LINQ es muy importante, ya que nos permite crear instancias de objetos como resultado de la consulta.
Inicializadores de Colecciones.
De la misma forma que con el punto anterior, en las colecciones podemos realizar la inicialización de los elementos de la colección usando el atajo, antes mencionado.Variable local implícita.
Al declarar una variable escribimos la palabra var, en vez del tipo de dato de forma explicita. Esto nos libera de la necesidad de duplicar la declaración del tipo de dato, al escribir el código. Pero esto no quiere decir que la variable que creamos no tenga ningún tipo; en realidad es tipificada, lo que sucede es que el tipo se infiere a partir de la expresión a la derecha del signo igual. Y el tipo se asigna en tiempo de compilación.Como podemos ver si colocamos nuestro mouse sobre la palabra var, VS nos presenta un tooltip, donde identifica el tipo de nuestra variable, aun que nosotros no lo hayamos escrito.
Tipos anónimos.
Estos tipos nos ofrecen una funcionalidad un tanto más interesante ya que podemos crear una variable a partir de una estructura de datos que no requiere ser declarada, y que tampoco se asignara el tipo en tiempo de compilación.Si llevamos a cabo el mismo proceso que con los implícitos, podremos verificar que el tooltip, nos indica que se trata de un tipo de datos anónimo.
Expresiones Lambdas.
Una expresión Lambda tiene la habilidad de manejar eventos en la misma línea de código, asignando un bloque de código directamente a un evento usando métodos anónimos. Las lambdas son una forma muy concisa de crear métodos anónimos.Aprender a emplearlas, nos permite simplificar nuestro código en .NET.
Consultas
Todo esto nos permite crear consultas usando la sintaxis de LINQ. En este momento hay dos formas de escribir consultas usando LINQ:Expresiones de lenguaje
Métodos de extensión
Espero que les sea de utilidad a todos aquellos que desean aprender a usar LINQ.
No hay comentarios:
Publicar un comentario