Тёмный

Expresiones lambda en un ejemplo real en C# .Net, programando sin utilizar if 

hdeleon.net
Подписаться 187 тыс.
Просмотров 41 тыс.
50% 1

En este video te mostrare como puedes utilizar las expresiones lambda y encapzular su funcionalidad en una clase para que puedas reutilizarlas, no utilizaremos la sentencia if en este video.
Si quieres apoyarme y darme para una cerveza puedes hacerlo por aquí: paypal.me/HectorDeLeonGuevara
Puedes apoyarme desde 0.5 USD al mes uniéndote como miembro al canal aquí: / @hdeleonnet
También puedes vía patreon: / powerhdeleon
Todos mis podcasts: • Podcast #1 - ¿Cuál es ...
Curso de MVC .Net: • Curso de MVC .Net C#| ...
Curso de MVC Api .Net: • Curso de MVC API .Net ...
Curso de facturación electrónica en c# .Net: • ¿Cómo convertir archiv...
Todos mis videos sobre facturación electrónica: • ¿Cómo convertir archiv...
La falta de respeto tanto a mí como a cualquier otra persona y el SPAM son razones de bloqueo en mi canal.
"Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for "fair use" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use"
---------------------------------------------------------------------------------------------------------------
Sigueme en twitter ⇒ / powerhdeleon
Sigueme en facebook ⇒ / hdeleon666
Mi Sitio web ⇒ hdeleon.net
#programación #dotnet #csharp

Опубликовано:

 

28 янв 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 126   
@hdeleonnet
@hdeleonnet 3 года назад
Si te ha gustado el video, puedes apoyarme dejando un pulgar arriba y compartiendo en tus redes sociales
@faybercova
@faybercova 2 года назад
Estas clases son magistrales. no tienen precio.
@davidbrutalzuluaga1898
@davidbrutalzuluaga1898 3 года назад
Gracias Héctor, me agrada mucho tu canal y me gusta cuando tocas temas más avanzados, ya que de lo básico ya hay mucho, pero ya de cosas más intermedias o avanzadas escasa en internet y más en español Un saludo desde Colombia
@ioannisblougouras9083
@ioannisblougouras9083 Год назад
La verdad Héctor muy buenos videos los tuyos un saludo
@Shian_n
@Shian_n Год назад
Eres de los pocos canales a los que me he suscrito que de verdad valen la pena
@RASantyreich
@RASantyreich 3 года назад
Como me encanta este canal , gracias , este video me re sirvio
@sgssergio
@sgssergio Год назад
El video es excelente, el codigo que queda luego es muy elegante y conciso. Por lo que veo esta funcionalidad la ofrece y con esteroides el paquete FluentValidations.
@radaniel8911
@radaniel8911 3 года назад
Amigo muy interesante tu video Bastante funcional y tengo q admitir que hoy aprendí algo nuevo. Manita arriba (Y) y Saludos desde CR :)
@luiseduardoquirolafrank1182
@luiseduardoquirolafrank1182 3 года назад
Excelente video Héctor. Felicitaciones!
@nelson3391
@nelson3391 3 года назад
Excelente presentación. Ha sido muy útil. Gracias!
@joanvillamarin233
@joanvillamarin233 3 года назад
Excelente ejemplo 👌🏻 ¡crack !
@rguere
@rguere 3 года назад
por supuesto tienes mi like, muy bueno excelente Hector!!!! gracias!!
@antoniohernandezhernandez6081
@antoniohernandezhernandez6081 3 года назад
Gracias hdeleon, muy bueno excelente gracias!!
@enriquemoreno8444
@enriquemoreno8444 3 года назад
Excelente profesor!
@MrEsanabriab
@MrEsanabriab 3 года назад
Excelentes videos tenés amigo. Genial esta explicación. Saludos.
@lewisburgos9799
@lewisburgos9799 Год назад
Un colega me hice el insection de no usar if hace ya unos meses, desde entonces me he sentido avergonzado de cada if que he colocado. No obstante con esta manera creo que ya entendi a lo que se refería. Muchas gracias
@jesuspereiraoficial
@jesuspereiraoficial 3 года назад
Eres el mejor Bro! Excelente video
@marcelovargasbo
@marcelovargasbo 3 года назад
Excelente video aula!
@martinruiz1407
@martinruiz1407 3 года назад
Perfectamente bien Utilizado expression Lamda.
@LuisMorales-nl5dx
@LuisMorales-nl5dx 3 года назад
Eres un crack amigo 👌🙏🏽🙌🏾
@MacBoy1986
@MacBoy1986 3 года назад
Muy bueno, sigue subiendo mas videos así!!! Crack!!!
@reinises7790
@reinises7790 3 года назад
Me encantan tus videos !!
@cristianmosteiro6458
@cristianmosteiro6458 Год назад
Muy buena la explicación. Gracias
@ccghy
@ccghy 3 года назад
excelente, buenísimo video !
@Heimaster
@Heimaster 3 года назад
excelente hace años no via un post asi. gracias por tu aporte
@ricardovarela2638
@ricardovarela2638 3 года назад
Esta chingonsisimo este video
@romansad
@romansad 3 года назад
Excelente video me cae muy bienque los ejemplos sean con bebidas, en especial si es cerveza, le da un toque mas refrescante e incentivador al video.
@manuart1983
@manuart1983 3 года назад
Esooooooooooo Super Crackkkkkk. Muchas Gracias
@Catuchee
@Catuchee 3 года назад
gracias a tus videos ya no hago tantos espagueti XD
@juanlopez-mo3ef
@juanlopez-mo3ef 2 года назад
Hermoso video Hector, por fin me voy a sacar la costumbre de meter 90 if para validar :p
@tonym5857
@tonym5857 3 года назад
Muy buen video, en general excelente canal, llegue aca por C# Sharp Guy 💪👏
@RichardGonzalez-azb
@RichardGonzalez-azb 3 года назад
Excelente video, Saludos.
@williamdavid508
@williamdavid508 3 года назад
excelente video, muy bueno.
@luimadlo
@luimadlo 2 года назад
Explica super bien. Lo felicito! Excelentes videos. Tengo 21 años programando con tecnología Microsoft, y siempre es bueno aprender y refrescar.
@jannmoreno283
@jannmoreno283 3 года назад
Gracias hermano, supongo que por debajo es así como funciona el paquete de FluentValidation, gran explicación
@luisquispe4653
@luisquispe4653 3 года назад
Genial, deberías seguir subiendo este tipo de videos de nivel intermedio y/o avanzado que son escasos.
@cuatrodelimon
@cuatrodelimon 3 года назад
Chingon este video, más vídeos asi
@cesarcastano
@cesarcastano 3 года назад
Excelente. Gracias
@Icaro204
@Icaro204 2 года назад
Diioooos, nueov suscriptor te lo haz ganado excelente material
@thetradingrobots3148
@thetradingrobots3148 3 года назад
Buenisima man!
@kervytmarrerorosales535
@kervytmarrerorosales535 3 года назад
Gracias ❤️
@AdidasJericho
@AdidasJericho 2 года назад
Súper me encanta, sabes yo siempre intento ingeniármelas con lo poco que sé para escribir lo menos posible pero con las E.L. Pff me solucionará la vida en muchos sentidos
@MrElmarqueli
@MrElmarqueli 3 года назад
pa genial jajajajaaajaj expectacular Hectorrrrr ajjajajaajj me encanto esto.
@williandavidlopezsanchez8331
@williandavidlopezsanchez8331 3 года назад
Que bonito código.
@alconlm
@alconlm 3 года назад
Buen video 👍
@metaladdict3691
@metaladdict3691 2 года назад
Mind blown 🤟🏼
@engel15496
@engel15496 3 года назад
Muy bueno el video, las primeras dos expresiones en el array de validations son redundantes porque ya se contemplan en las dos de abajo
@macroman20062007
@macroman20062007 3 года назад
Maestro de Leon, antes que nada déjeme enviarle un respeto como dijera el Tlatoani Carlos Ballarta, y decirle que gracias a usted yo he podido adquirir nuevas habilidades y muchos trucos que me han servido en mi diario que hacer por he querido siempre poder invitarlo a una muy merecida cerveza, pero como se me hace por el momento viajar a las tierras mexicanas me voy a suscribir a su canal como semi-senior, muchas gracias por compartir sus conocimientos con todo el proletariado y un saludo desde Panamá de un Salvadoreño que ama mucho los tacos
@hdeleonnet
@hdeleonnet 3 года назад
Muchas gracias a ti Jesús
@lalokura1000
@lalokura1000 3 года назад
Muy Bueno
@SimaDamian
@SimaDamian 3 года назад
Héctor para este caso en ves de un Where y el Count usar el Any es mucho mas claro. Y por otro lado, crear dos clases para la validacion no me parece apropiado, teneiendo en cuenta que el metodo Validate podría caber tranquilamente en la responsabilidad del modulo (clase) BeerValidate. Pero despues cuando usas el genérico si queda apropiado la separacion. A muchos le abre un poco la cabeza estos ejemplos! sigue así man, y muchas gracias por compartir!
@tarralover7636
@tarralover7636 3 года назад
Aguante las expresiones lambda, hasta ahora solo había abusado de linq, linq, linq se pueden hacer mil cosas, pero poder crear lo que quieras con lambda es hermoso. Gracias por compartir!
@danielmendezdeveloper1748
@danielmendezdeveloper1748 3 года назад
Está muy interesante, pero como podría saber cuál validación falló y poder devolver un mensaje personalizado????
@bilbo88
@bilbo88 3 года назад
Daniel, si lo descubriste compártelo. Es lo primero que se me ha pasado por la cabeza cuando he visto el vídeo. Pensando en alto se me ocurre enviar un string con el nombre del error en vez de un true o un false, podría funcionar, no?
@danielmendezdeveloper1748
@danielmendezdeveloper1748 3 года назад
@@bilbo88 Mmm pues no hice las pruebas la verdad, pero desde el primer momento te dice que un predicado solo devuelve valores boleanos, asi que no creo se pueda devolver un string :(
@alfacode7299
@alfacode7299 3 года назад
Super tu video pero me gustaría saber por cual función falló, es decir, devolver un mensaje por ejemplo: el número de cacteres no debe ser menor a 10
@williamprogramer4168
@williamprogramer4168 3 года назад
Crack
@jcdiazgm
@jcdiazgm 3 года назад
Fantástico Hector, tanto el tema como la explicación. Soy algo novato en C# y tengo exactamente un método que valida 17 columnas de un Excel. Pero necesito retornar el error, el mensaje de error y el valor incorrecto. En la respuesta a Adam Mendez hablas de algo como esto: claro se puede, haces un objeto respuesta y lo manejas con Func public class Respuesta{ public bool Result{get;set;} public string Message{get;set;} } Pero no entiendo en donde lo uso, que pena pero soy algo novato. Gracias
@hdeleonnet
@hdeleonnet 3 года назад
quiza haga un video más avanzado para explicarlo
@oldschoolappearance7606
@oldschoolappearance7606 3 года назад
Excelente video, es de muchísima ayuda!. Tengo una consulta, es de mala práctica, utilizar valores Nullables de tipo int, bool y demás en los modelos y la lógica en general? Como int? o bool?. Saludos desde Costa Rica.
@deynerdejesus3689
@deynerdejesus3689 3 года назад
Hola, muchas gracias por tus excelentes expliciones. Me surge una duda con la utilización de esa clase de validaciones, cómo podría retornar un string con los campos que han fallado las validaciones?
@marcocordova5417
@marcocordova5417 Год назад
Eres un cracksote gracias por tanta enseñanza bro ahi luego que se armen las cheves xd!
@emiliowildberger7151
@emiliowildberger7151 3 года назад
exelente muchas gracias, porfa un video para validar las DataAnotations si se puede
@hdeleonnet
@hdeleonnet 3 года назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-rCYGd3_ADn4.html
@emiliowildberger7151
@emiliowildberger7151 3 года назад
@@hdeleonnet y como seria sin utilizar mvc por ejemplo en wpf
@maheza36
@maheza36 3 года назад
Una consulta, mejora la performance usar solo lambda sin if?
@christianboada95
@christianboada95 Год назад
Se puede usar Any en vez del Where
3 года назад
Hola Hector, excelente video junto con el anterior video, me cae de perlas este video ya que estoy desarrollando un sistema de carga de datos desde json y tengo que hacer validaciones de (tipos de datos) valores; globalmente Predicate retorna True/False entre todas las validaciones, ¿Cómo se pudiera retornar y con qué método (creería con el Action pero como no retorna nada...) saber cuál elemento de la colección del modelo produjo el error de validación?, gracias por todo.
@hdeleonnet
@hdeleonnet 3 года назад
Voy con eso en breve
@marcoscardona989
@marcoscardona989 3 года назад
se puede usar en metodo .Any() en vez de hacer un ToList, Where y Count
@hdeleonnet
@hdeleonnet 3 года назад
Si pero igual necesitas tolist
@angelmorales5250
@angelmorales5250 3 года назад
Excelente video Hector, para los que queremos adentrarnos cada vez mas en la programación funcional está perfecto y super explicado!! Ahora una consulta, que pasa si yo quiero retroalimentar el error de la expresión lambda? Es decir, si por ejemplo, name != null mostrarle un msj al usuario que diga que debe escribirlo, es decir una retroalimentación al usuario que vaya desde el método static validations?
@ayrtoncesarlamadridmartine306
Ya no usas predicate, si no un func
@nestedernest
@nestedernest 3 года назад
¿Se puede romper el where?
@ADANMENDEZjam3001490
@ADANMENDEZjam3001490 3 года назад
Muy buen video, una pregunta, que pasa si tiene un set de validaciones y quieres asignarle a cada validación un código y mensaje de error (como los códigos y mensajes de error del XML que asigna el SAT a las validaciones de cada complemento de un CFDI ) por si no se cumple y obtener ese código y mensaje de error después de la validación en caso de fallar. Gracias y saludos, me encanta tu canal
@hdeleonnet
@hdeleonnet 3 года назад
claro se puede, haces un objeto respuesta y lo manejas con Func public class Respuesta{ public bool Result{get;set;} public string Message{get;set;} }
@ariel6148
@ariel6148 3 года назад
Dejen likes amigos
@CarlosMGomez
@CarlosMGomez 8 месяцев назад
Me encanta tu explicación bro... tienes cursos en alguna plataforma?
@hdeleonnet
@hdeleonnet 8 месяцев назад
Claro, ahora mismo están en descuento: hdeleon.net/cursos-premium/
@josueargueta2506
@josueargueta2506 3 года назад
Excelente explicación Héctor, pero como podría hacer para obtener cual fue el que dio falso.
@hdeleonnet
@hdeleonnet 3 года назад
Regresas un list de un tipo objeto que tengas resultado bool y mensaje string. en lugar de bool, y evaluas fuera de la función con count si deseas ver si uno fallo o foreach si deseas mostrar los messages
@alexandrohdez3982
@alexandrohdez3982 3 года назад
mucha abstraccionn😂👏👏👏
@hamelhmc
@hamelhmc 3 года назад
Una pregunta que ventajas y desventajas tienes al utilizar Typescript en React ? me gustaría saber tu opinión graciias : )
@hdeleonnet
@hdeleonnet 3 года назад
Mejor control de código, maneja interfaces con lo cual puedes aplicar patrones de mejor manera que son ts. A parte intellisense le ayudas a que te corrija y eso ahorra tiempo, saber que algo está mal antes de ejecutarlo es ganancia.
@oh-vito
@oh-vito Год назад
programando sin utilizar if. pensé que te referias a usar un especie de filter, eso hago yo para evitar demasiados if pero en javascript.
@cesarbenavides1369
@cesarbenavides1369 2 года назад
En linq tenermos la foncion Any(...) que equivale a Where(...).Count() >= 0
@puchotec3830
@puchotec3830 Год назад
Hola cómo pudiera crear una función que busque y desabilite todos los botones de un formulario
@chloepurple3565
@chloepurple3565 3 года назад
Por qué tienes varias versiones de visual y sql?
@condorcol7816
@condorcol7816 3 года назад
Que tipo de interfaces se usan para internet de las cosas?
@hdeleonnet
@hdeleonnet 3 года назад
Displays
@centurion3708
@centurion3708 3 года назад
Me aparecio este video pero no se C# sino Java, pero me quede por curiosidad en realidad se parecen mucho los lenguajes, aunque me gusta mas la => de c# que la -> de java
@TRG0x0
@TRG0x0 3 года назад
Nunca había visto usar las lambdas así, ¡ahí tienes mi like y sub! A ver que más cosas descubro por aquí :) Por cierto, ¿en lugar del " .Where().Count() == 0 " no sería mejor aprovecharse del " .Any() " ?
@hdeleonnet
@hdeleonnet 3 года назад
Any si
@DetectiveKunKun
@DetectiveKunKun 2 года назад
Eso mismo me sugirió el IDE jajaja
@popularfan5893
@popularfan5893 3 года назад
Sinceramente prefiero usar if. Aunque como dices es interesante.
@TheMrfonchi
@TheMrfonchi 2 года назад
Venia buscando cobre y encontré oro, tendras algo relacionado a wrapper classes en c#?
@hdeleonnet
@hdeleonnet 2 года назад
Por ahora no, espero pronto hacer algo con wrapper que sean intermediarios de cosas utiles de C++
@tarralover7636
@tarralover7636 3 года назад
Una consulta Hector, por lo que he visto en tus videos y en los lives dices que trabajas como freelance o algo así, me causa curiosidad saber si cada vez que haces un proyecto también creas test unitarios y todos esos pasos para llegar a producción. ¿Lo haces siempre?, ¿Depende del presupuesto? o de la complejidad del proyecto?. ojala puedas responderme Que tengas un buen día
@hdeleonnet
@hdeleonnet 3 года назад
Trabajo en mis propios proyectos, y siempre tienen pruebas unitarias todos los que he hecho desde el 2018
@tarralover7636
@tarralover7636 3 года назад
@@hdeleonnet Muchas gracias por responder. Realmente espero que te vaya super, tu contenido es excelente
@alexanderalegre3133
@alexanderalegre3133 3 года назад
Esto es muy parecido a FluentValidation no?
@diego_solis
@diego_solis 3 года назад
Damnnnn
@IconicSounds
@IconicSounds 3 года назад
daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamn
@alexrigar
@alexrigar 3 года назад
Que benefició tiene usar lambdas ?
@rodrigo6459
@rodrigo6459 3 года назад
Estimado... hay un error... para convertir a lista se usa el System.Linq, no el System.Collections.Generics
@hdeleonnet
@hdeleonnet 3 года назад
Tienes razón
@MrElmarqueli
@MrElmarqueli 3 года назад
te refieres cuando invocamos .Tolist() ?
@rodrigo6459
@rodrigo6459 3 года назад
@@MrElmarqueli si....
@FernandoZamudioC
@FernandoZamudioC 3 года назад
Y yo q pensaba q sabia lamda !
@JoseManuelLopezHernandez
@JoseManuelLopezHernandez 3 года назад
"¿Esponja enloqueciste?"
@wavasque
@wavasque Год назад
Saludos Hdeleon , me puedes apoyar a que esta clase se pueda reutilizar, así como la case de DATAvalidator? **EL obj FAMILIAS se parametro public class DATAvallidation { public static readonly Predicate[] validations = { (d) => d.NombreFamilia != null, (d) => d.NombreFamilia != null && d.NombreFamilia.Count() < 10, }; } public class DATAvalidator { public static bool validate(T data, params Predicate[] validations) => validations.ToList().Where(d => { return !d(data); }).Count() == 0; }
@jorgevillordo5471
@jorgevillordo5471 2 года назад
csharpbeerrock
@benja8850
@benja8850 3 года назад
no te pases. El if es la vida.
@NADXUS
@NADXUS 3 года назад
No utilizo if pero si utilizo X > 5 ? console.log("Mayor que 5, es un buen chiste") : console.log("este chiste da pena"); Solo los programadores de javascript lo entenderán xd
@MrElmarqueli
@MrElmarqueli 3 года назад
Hola de nuevo ajajjaja le di tanto que lo lleve por le lado logico ajajajjaj haber que les parece: public static bool Validate(List Objet, params Predicate[] validations) { bool Resultado =true; // aca declaro la variable como true foreach (T item in Objet) { Resultado = Resultado ^ (validations.ToList().Where(d => !d(item)).Count() == 0); // y aca hago una operacion logica } return Resultado; } siguiendo esta logica: Console.WriteLine(true ^ true); // output: False Console.WriteLine(true ^ false); // output: True Console.WriteLine(false ^ true); // output: True Console.WriteLine(false ^ false); // output: False Y sin if!!!!!! jajajaajj gracias a tus videos se aprende enormemente agradecido de que existas ajaja salu2.
@wavasque
@wavasque Год назад
Como ejecutas el metodo ? result = Validate(obj, ?)
@MrElmarqueli
@MrElmarqueli Год назад
@@wavasque Hola, el tema que el código que puse se basa en lo que explica Héctor, este código es uno personal usando lo explicado por él, donde tu pones el signo de (?) ahí va el (params Predicate[] validations) que es lo que explica Héctor en el video cuando crea la clase Validations en la clase BeerValidations, ahi en vez de el signo de ? pones la BeerValidations class, Estudia bien el video el lo explica muy bien. Solo luego tienes que adaptar el concepto la ida a tu proyecto.
@MrElmarqueli
@MrElmarqueli 3 года назад
Hola Héctor haber con esto le estoy buscando la vuelta para adaptarlo a tu logica pero no doy con la tecla sin usar un if: public static bool Validate(List Objet, params Predicate[] validations) { bool Resultado = false; foreach (T item in Objet) { Resultado = validations.ToList().Where(d => !d(item)).Count() == 0; } return Resultado; } la cosa que esto no funca. tendria que hacer cono un if dentro del foreach para salir del bucle en caso de que en algun item me de false pero no quiero usar if ajjajajajjj se te ocurre algo?
@Diego-rx2ro
@Diego-rx2ro 3 года назад
Usa el Any
@siemprequierovolar
@siemprequierovolar Год назад
Ya tienen if dentro las expresiones Lambda.
Далее
Trabajar con hilos que comparten recursos en C# .Net
11:52
5 Métodos poco conocidos de LINQ en C# .Net
12:19
Просмотров 16 тыс.
Lo más Importante en mis 20 AÑOS Programando
17:51
Просмотров 14 тыс.
Basic Authentication en BACKEND 🔒
31:01
Просмотров 44 тыс.
Curso de LINQ C# .NET ¡GRATIS!
15:54
Просмотров 24 тыс.
15.- Predicate | Curso de fundamentos de C#
15:01
Просмотров 9 тыс.
FUNCIONES LAMBDA EN C#
28:55
Просмотров 660