Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Cómo funciona Linq

José Manuel Montero Ortega
  • Escrito por José Manuel Montero Ortega el 30 de Enero de 2019
  • 1 min de lectura |
Cómo funciona Linq
El reproductor de video será cargado en breves instantes.

Te mostramos la utilidad de Linq, una de las features más alucinantes que tiene tanto C# como .NET.

Ejemplo de uso de Linq

Para mostraros el funcionamiento de Linq, vamos a utilizar Visual Studio, que es la herramienta más usada para C#. En la misma hemos creado una pequeña aplicación que sirve para recuperar clientes, y que utilizaremos como ejemplo, que sería la siguiente:    


	class Program
	{
		static void Main(string[] args)
		{
			var clients = GetClients();
	
			Console.ReadKey();
		}
	
		static List<client> GetClients()
		{

Si quisiéramos filtrar estos clientes por la cantidad de salario que tuvieran, lo habitual es crear un bucle, hacer una comparación y verificar, por ejemplo, quién gana más de 20000 dólares o euros, para después recoger esa lista. Esto se haría de esta forma.


	class Program
	{
		static void Main(string[] args)
		{
			var clients = GetClients();
	
			foreach(var client in clients)
			{
				if(client.Salary > 20000)
				{

				}
	
			Console.ReadKey();
		}
	
		static List<client> GetClients()
		{

A muchos os resultará familiar este tipo de estructuras de código si trabajáis con lenguajes como C o Java, y que resulta bastante tedioso.

Sin embargo, una de las features más alucinantes de C# y que todo el mundo utiliza, Linq, nos va a permitir la sentencia de código anterior en algo tan sencillo como lo siguiente:


class Program
	{
		static void Main(string[] args)
		{
			var clients = GetClients();
	
			var clientsWithSalary = clients.Where(x => x.Salary > 20000);
	
			Console.ReadKey();
		}
	
		static List<client> GetClients()
		{

De esta forma cambiamos varias líneas de código por solo una, siendo además mucho más funcional, más rápido y más legible.

Por ejemplo si quisiésemos obtener de esos clientes su nombre y apellidos, normalmente con otros lenguajes lo haríamos de esta forma:


class Program
	{
		static void Main(string[] args)
		{
			var clients = GetClients();
	
			var clientsWithSalary = clients.Where(x => x.Salary > 20000);

			foreach(var client in clients)
			{
				string nameAndSurname = client.Name + client.Surname;
			}
	
			Console.ReadKey();
		}
	
		static List<client> GetClients()
		{

Mientras que gracias a Linq podríamos hacerlo de esta otra forma


class Program
	{
		static void Main(string[] args)
		{
			var clients = GetClients();
	
			var clientsWithSalary = clients.Where(x => x.Salary > 20000);

			var clientsWithNameAndSurname = clients.Select(x => $”{x.Name} {x.Surname}”);
	
			Console.ReadKey();
		}
	
		static List<client> GetClients()
		{

De nuevo podemos convertir en una sola línea lo que en otros lenguajes nos ocuparía varias líneas, que además de todos los procesos que se ahorran en caso de querer cambiar algo, por ejemplo, querer obtener el nombre, el apellido y además el domicilio.

Además, si quisiéramos ordenar los resultados, con Linq podemos hacerlo de forma muy sencilla y escribiendo una única línea.


class Program
	{
		static void Main(string[] args)
		{
			var clients = GetClients();
	
			var clientsWithSalary = clients.Where(x => x.Salary > 20000);

			var clientsWithNameAndSurname = clients.Select(x => $”{x.Name} {x.Surname}”);
							.OrderBy(x => x);
	
			Console.ReadKey();
		}
	
		static List<client> GetClients()
		{

Si quieres ampliar tus conocimientos de C# puedes hacer este Curso de C# Básico de nuestro profesor José Manuel Montero.

curso-c-principiante

Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.

Relacionado

Te dejamos una selección de cursos, carreras y artículos

¿Por qué aprender a programar?

¿Por qué aprender a programar?

Lenguajes de programación

01 de Septiembre de 2015

Aprender algún lenguaje de programación, hay cientos de motivos por los que aprender a programar, te aseguro que aprender a programar es fácil.

Por qué aprender C#

Por qué aprender C#

Lenguajes de programación

28 de Enero de 2019

Conoce los 7 principales motivos por los que resulta muy recomendable comenzar a desarrollar en C#.

Curso de C# para principiantes

Curso de C# para principiantes

curso

Con este curso aprenderás:

  • Aprenderás a dominar el lenguaje de C# desde 0
  • Aprenderás a usar Visual Studio
  • Conceptos básicos de programación y cómo se aplican en C#

Duración: 3 horas y 29 minutos

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars