Hola de nuevo.
Esta ves demos cabida a un tema que me llama mucho la atención, y ha de ser del gusto de muchos porque es una nueva herramienta sobre el tapete, para consultar y manipular información, pero no al estilo SQL, no señores, un estilo más c#, con muchas características interesantes que quiero describir en breve:
- Dicen por ahi que LinQ, es el lenguaje de consultas integrado para el Framework de .NET. Es un conjunto de extensiones de C# y VB.NET, con un modelo de programación unificado que extiende el Framework de .NET para ofrecer consulta integrada de objetos, bases de datos, y XML.
- Cualquier colección que soporte la interfaz System.Collections.Generic.IEnumerable, o la interfaz genérica IEnumerable<T>, es considerada una secuencia y puede ser operada utilizando los nuevos operadores de consulta de LINQ.
- Vale la pena mencionar la característica de inferencia de tipos, entre lo nuevo de C#, ya que le permite a las variables locales ser automáticamente tipadas por su expresión de inicialización.
Y viendo código en acción, simplemente creen un proyecto de consola y escriban lo siguiente, para que ejecuten su primer ejemplo utilizando LINQ, sobre colecciones en memoria.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LinQ1
{
class Program
{
static void Main(string[] args)
{
NumQuery();
}
static void NumQuery()
{
var numbers = new int[] { 1, 4, 9, 16,25, 36 };
var evenNumbers = from p in numbers where (p % 2) == 0 select p; Console.WriteLine("Result:");
foreach (var val in evenNumbers)
Console.WriteLine(val);
}
}
}
Si notaron el uso de la expresión var, aqui es donde el compilador de C# hace inferencia, y determina el tipo de dato correcto sobre la variable. Cabe notar también como la expresión foreach ha sido extendida para utilizar la inferencia de tipos también.
Por ahora esto es solo el inicio, ya iremos viendo cosas mucho más sofisticadas y entendiendo otros temas importantes alrededor de LINQ.
Feliz consulta!!