Introducción a LINQ en C# - Cómo funciona LINQ por detrás

  Рет қаралды 8,628

NetMentor

NetMentor

Күн бұрын

Пікірлер: 13
@NetMentor
@NetMentor 4 жыл бұрын
Blog: www.netmentor.es/Entrada/linq-csharp Twitter: twitter.com/NetMentorTW
@GeoH182
@GeoH182 3 жыл бұрын
Gracias mentor, tus videos son lo maximo!
@matiasferreyra8673
@matiasferreyra8673 Жыл бұрын
Excelente video, ahora entiendo muchas cosas que solo las hacia "de memoria" o porque "se hacen asi", aunque no sabia porque jaja. Gracias
@beatriztriz619
@beatriztriz619 4 жыл бұрын
Muchas gracias por publicar el vídeo antes!!!!
@MrElmarqueli
@MrElmarqueli 3 жыл бұрын
Muy buenoooooo!!!!! mil gracias genial esto!!!!! saludosssss!!!
@jesusjoshimar
@jesusjoshimar Жыл бұрын
Excelente explicacion, gracias
@luiscamarillog
@luiscamarillog 4 жыл бұрын
Excelente tus videos!
@PabloHelal
@PabloHelal 4 жыл бұрын
Gracias, muy bueno.
@maclaren33
@maclaren33 3 жыл бұрын
una pregunta el resultado normalmente yo en lugar de utilizar el IEnumerable utilizo List , me podrias ayudar indicando cuando debo utilizar el List y cuando el IEnumerable ?
@NetMentor
@NetMentor 3 жыл бұрын
Hola, pues depende un poco. Es probable que utilizando List no estés haciendo nada mal porque depende del escenario. Básicamente IEnumerable es la definicion de lo que linq va a realizar, mientras que se ejecuta cuando utilizas .ToList() (o to array, etc.) Un ejemplo facil para ver este funcionamiento es que cuando llamas a la base de datos utilizando entity framework la consulta no se ejecuta hasta que haces el .ToList() Otro ejemplo para verlo dentro de un programa tienes un método que devuelve IEnumerable ; si a los libros le pones un filtro y haces libros.where(nuevos) y un poco mas adelante en el código, por lo que sea tienes otro filtro distinto y haces otra vez libros.where(tapaDura) ninguno de los dos where es ejecutado hasta que intentas acceder al resultado final, ya sea con un .ToList() un .Select() etc. es muy común ver por ahí, cosas como Ienumerable libros =MetodoQueDevuevleLibros(); var nuevos = libros.where(nuevos).tolist(); var nuevosytapadura = nuevos.where(tapadura).Tolist() Este bloque de código por desgracia es común y cada vez que ejecutas el .ToList() estas materializando/ejecutando la query y por tanto almacenando el resultado en memoria Para el ejemplo anterior puedes hacer algo como Ienumerable libros =MetodoQueDevuevleLibros(); libros = libros.where(nuevos); libros = libros.where(tapadura); libros = libros.ToList(); y tiene la diferencia de que solo se "materializa" una vez. Finalmente a groso modo, dos puntos: La idea principal (mejor rendimiento) es que solo tengas que materializar la coleccion en una List una única vez en tu sistema, para tenerla una única vez en memoria. Por ejemplo si únicamente quieres iterar sobre los elementos, con IEnumerable deberíá bastar (si la query es a una base de datos, si es de una api te va a devolver una lista) Pero si necesitas modificiar los elementos añadir o eliminar, debes utilziar listas. espero que haya quedao claro, me ha quedado bastante extenso el mensaje :/
@maclaren33
@maclaren33 3 жыл бұрын
@@NetMentor WOW mega claro gracias por tomarte el tiempo de explicarlo tan bien se te agradece y bueno no creo ser el unico que tiene esta duda buscando en internet hay solo explicaciones en portugues , ingles, seria full bueno que algun rato hagas un video de lo que me explicaste aqui para todos los demas que tienen esta duda. muchas gracias hermano .
@NetMentor
@NetMentor 3 жыл бұрын
Sin problema, si, la verdad que tienes razón, puede ser buena idea hacer un vídeo sobre el tema. Gracias por la idea 🙂
@enriqueruiz320
@enriqueruiz320 4 жыл бұрын
🤪
Violet Beauregarde Doll🫐
00:58
PIRANKA
Рет қаралды 53 МЛН
Cute
00:16
Oyuncak Avı
Рет қаралды 7 МЛН
Implementa Idempotencia para evitar errores y duplicidades
15:57
Como implementar Factory Method en Asp NET Core
23:47
Lautaro Carro
Рет қаралды 1 М.
Brutally honest advice for new .NET Web Developers
7:19
Ed Andersen
Рет қаралды 178 М.
Curso de LINQ C# .NET ¡GRATIS!
15:54
hdeleon.net
Рет қаралды 26 М.
5 Métodos poco conocidos de LINQ en C# .Net
12:19
hdeleon.net
Рет қаралды 16 М.
Violet Beauregarde Doll🫐
00:58
PIRANKA
Рет қаралды 53 МЛН