Estos son mis videos favoritos. Aprendí C# en el trabajo y con la práctica, aunque ya había trabajado con otros. Siento que mi conocimiento del lenguaje en sí es todavía superficial y son este tipo de cosas las que quiero aprender ahora.
Muy buen video! En la parte de Tuples, estaba esperando que expliques que desde C# 7 se puede "deconstruir" el tuple: string (Name, LastName) = ToUpper(....) Muchas veces eso puede ser más cómodo que usar el objecto tuple sin deconstruir.
¡Excelente Video Héctor!, vamos a profundizar un poco con los spans y trabajar low level en C#, muchas personas no saben que se puede hacer sería genial un video explicado el uso en punteros en c# y demás al igual el ArrayPoll y ObjectPoll son muy interesantes
6:19 Cool using System.Linq.Expressions; var paramA = Expression.Parameter(typeof(int), "a"); var paramB = Expression.Parameter(typeof(int), "b"); var body = Expression.Equal(paramA, paramB); Console.WriteLine(body.ToString()); body = Expression.Subtract(paramA, paramB); var subExp = Expression.Lambda(body, paramA, paramB); Console.WriteLine(subExp); Console.WriteLine(subExp.Compile()(6, 2)); =========== var numbers = Enumerable.Range(1, 1000); var parallelQuery = numbers.AsParallel().Where(number => number % 2 == 0); parallelQuery.ForAll(number => Console.WriteLine(number)); Console.WriteLine(parallelQuery.Count()); ========== dynamic some = 2; Console.WriteLine(some); some = "hello"; Console.WriteLine(some); dynamic func = new Func((a, b) => a + b); Console.WriteLine(func(1, 2)); func = new Func((a, b) => a - b); Console.WriteLine(func(1, 2)); func = new Func((a, b) => a * b); Console.WriteLine(func(1, 2)); func = new Func((a, b) => a / b); Console.WriteLine(func(1, 2)); var fn = (int a, int b) => a + b; Console.WriteLine(fn(1, 2)); fn = (int a, int b) => a - b; Console.WriteLine(fn(1, 2)); fn = (int a, int b) => a * b; Console.WriteLine(fn(1, 2)); fn = (int a, int b) => a / b; Console.WriteLine(fn(1, 2)); ================= using System.Dynamic; dynamic drink = new ExpandoObject(); drink.name = "Coke"; drink.price = 1.5m; drink.brand = "Coca Cola"; Console.WriteLine($"Name: {drink.name}, Price: {drink.price}"); ============ using (var op = new Operation()) { Console.WriteLine("Using"); op.Dispose(); Console.WriteLine("Not using"); } public class Operation : IDisposable { public void Dispose() { Console.WriteLine("Disposed"); } } ============ (string name, string lastName) ToUpper(string name, string lastName) => (name.ToUpper(), lastName.ToUpper()); (string name, string lastName) ToLower(string name, string lastName) => (name.ToLower(), lastName.ToLower()); var person = ToUpper("john", "doe"); Console.WriteLine(person); person = ToLower("john", "doe"); Console.WriteLine(person); =========== using System.Runtime.InteropServices; Windows.MessageBox(IntPtr.Zero, "Hello World", "CSharpTest", 0); public class Windows { [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern int MessageBox(IntPtr hWnd, String text, String caption, uint type); }
Muy interesante, solo los primeros 2 demostraciones no las conocia, el resto ya, aparte eso de los MSGBOX yo las utilicé alguna vez en un lenguaje muy gracioso llamado VBScript, dudo que se siga utilizando hoy en día.
Oye, yo estoy trabajando en una librería C# para manejar números hipercomplejos (Cuaterniones, Octononiones, Sedeniones y sus Duales) [Matematica en si], la misma está dirijida para uso general (Para programas de ciencia [Fisica, quiemica, etc] pero tambien para un programa de diseño 3D parametrico [Rhino y Grasshopper]) Me pareció muy extremadamente importante lo del calculo "Paralelo", podrías hacerte un video más explicativo de ello??? Yo vengo de Assembler y C, y todavia me estoy acostumbrando a C#, aun que leí la documentacion, hay muchas cosas las cuales no tengo P... idea de como usar.
Sabía del potencial de Linq en C# pero no sabía de esto. .NET por su parte no deja de sorprender, lo único que le está faltando es poder operar con WASM / WebGL en conjunto mucho más flexible de una manera integrada por así decirlo. Creo que estaban trabajando en algo para poder llevar aplicaciones que puedan correr a nivel web HTML5 a otro nivel, le están dando caña y me gusta.
CUando hablaste de PLINQ, no mencionaste los Parallel foreach y for, con colleciones concurrentes. son muy poderosas tambien, y nadie las usa ( yo si )
El truco de using32.dll ya lo habia conocido luchando para armar una ventana de windows en C (no C#) y no es nada facil pero si divertido como vas encontrando diferentes truco en C
para lograrlo estuve compilado desde CMD y ahí logre que directamente no se vea la pantalla de consola solo la de Windows además me la pase divirtiéndome hasta las 4 am (hay varios que lo toman mal pero me divierte programar )
Lo ultimo de usas las API de windows si lo conocí por que queria hacer un proyecto de usar el cursor y la pantalla completa de windows y aun esta en veremos por que no he podido hahaha.
Tengo un problema con el hardware, cual es el verdadero requerimiento de c# para trabajar de forma optima con blazor para el desarrollo (ya lo vi en mac y es otra cosa ), a partir del cual generación de procesador y ram
bro soy desarrollador c# pero estoy dudando si seguir aprendiendo mas de este lenguaje o aprender mas sobre otro por que cada vez son menos ofertas laborales que veo en este lenguaje, tu que opinas al respecto me interesaria saber la verdad, un saludo.
Inscríbete a IMMIGO con un descuento de hasta 90%: dev.immigo.io/?via=leon
Ya rebasamos a los 1500 likes
Hector me mataste con el comentario de que parecen hamsters jjajajajaj
Claro que sí. Dos de los temas, no los había visto. Gran video. Seria muy interesante mas videos sobre arboles de expresiones.
Estos son mis videos favoritos. Aprendí C# en el trabajo y con la práctica, aunque ya había trabajado con otros. Siento que mi conocimiento del lenguaje en sí es todavía superficial y son este tipo de cosas las que quiero aprender ahora.
Muy buen video!
En la parte de Tuples, estaba esperando que expliques que desde C# 7 se puede "deconstruir" el tuple:
string (Name, LastName) = ToUpper(....)
Muchas veces eso puede ser más cómodo que usar el objecto tuple sin deconstruir.
este video me gusto mucho .. haz mas videos de estos es muy interesante. (arboles de expresion)
Muy interesante! Sabía lo de retornar distintos valores con tuplas y el tipo dynamic, pero el resto lo desconocía totalmente. Cada vez me gusta más C#
Excelentes tips, muchos de ellos los fui aprendiendo con los años y ahora lo resumes en unos minutos 😅
¡Gracias por traernos un video más! Y sí, queremos saber más de árboles de expresión por favor!
8:15 , interesante , estaría bueno un vídeo explicando las ventajas de desventajas de usar eso.
apoyo la idea
¡Excelente Video Héctor!, vamos a profundizar un poco con los spans y trabajar low level en C#, muchas personas no saben que se puede hacer sería genial un video explicado el uso en punteros en c# y demás al igual el ArrayPoll y ObjectPoll son muy interesantes
Rifado como siempre! 🤘 me quede intrigado con los árboles… de lo demás ya eh tenido un leve acercamiento.
Muchas Gracias por compartir tu conocimiento Hector, de verdad me volaste la cabeza con lo ultimo!.
Gracias por compartir tu conocimiento
de vos siempre se aprende, gracias
Como siempre, aprender contigo es un placer.
Denle like y compartan para que llegue 1.5K 👍y saque mas videos del tema🤘
Esa de las duplas no me lo sabia, muy buen aporte!
Aunque ya veré si por ahí lo requiera....
Excelente Video Hector, saludos desde Perú !
Hola Hector puedes hablar de licencias? por ejemplo para vender o licenciar un software a medida. Buen contenido. Saludos.
Excelente video. Genial si profundizas en expresiones. Gracias!,
mil gracias. CLARO QUE SE APRENDE!!!! gracias por compartir.
6:19
Cool
using System.Linq.Expressions;
var paramA = Expression.Parameter(typeof(int), "a");
var paramB = Expression.Parameter(typeof(int), "b");
var body = Expression.Equal(paramA, paramB);
Console.WriteLine(body.ToString());
body = Expression.Subtract(paramA, paramB);
var subExp = Expression.Lambda(body, paramA, paramB);
Console.WriteLine(subExp);
Console.WriteLine(subExp.Compile()(6, 2));
===========
var numbers = Enumerable.Range(1, 1000);
var parallelQuery = numbers.AsParallel().Where(number => number % 2 == 0);
parallelQuery.ForAll(number => Console.WriteLine(number));
Console.WriteLine(parallelQuery.Count());
==========
dynamic some = 2;
Console.WriteLine(some);
some = "hello";
Console.WriteLine(some);
dynamic func = new Func((a, b) => a + b);
Console.WriteLine(func(1, 2));
func = new Func((a, b) => a - b);
Console.WriteLine(func(1, 2));
func = new Func((a, b) => a * b);
Console.WriteLine(func(1, 2));
func = new Func((a, b) => a / b);
Console.WriteLine(func(1, 2));
var fn = (int a, int b) => a + b;
Console.WriteLine(fn(1, 2));
fn = (int a, int b) => a - b;
Console.WriteLine(fn(1, 2));
fn = (int a, int b) => a * b;
Console.WriteLine(fn(1, 2));
fn = (int a, int b) => a / b;
Console.WriteLine(fn(1, 2));
=================
using System.Dynamic;
dynamic drink = new ExpandoObject();
drink.name = "Coke";
drink.price = 1.5m;
drink.brand = "Coca Cola";
Console.WriteLine($"Name: {drink.name}, Price: {drink.price}");
============
using (var op = new Operation())
{
Console.WriteLine("Using");
op.Dispose();
Console.WriteLine("Not using");
}
public class Operation : IDisposable
{
public void Dispose()
{
Console.WriteLine("Disposed");
}
}
============
(string name, string lastName) ToUpper(string name, string lastName)
=> (name.ToUpper(), lastName.ToUpper());
(string name, string lastName) ToLower(string name, string lastName)
=> (name.ToLower(), lastName.ToLower());
var person = ToUpper("john", "doe");
Console.WriteLine(person);
person = ToLower("john", "doe");
Console.WriteLine(person);
===========
using System.Runtime.InteropServices;
Windows.MessageBox(IntPtr.Zero, "Hello World", "CSharpTest", 0);
public class Windows
{
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int MessageBox(IntPtr hWnd, String text, String caption, uint type);
}
Estoy orgulloso de que lo supe todo. Por cosas como estas C# siempre será mi favorito
Tu video resume el largo camino que varios llevan en este medio
Te la sabes mi estimado!!! Gracias por compartir!!
Me encanto esto de los arboles de expression
Interesante en especial la parte del dinamismo con plinq sería genial el vídeo a profundidad con más ejemplos
Muy interesante, solo los primeros 2 demostraciones no las conocia, el resto ya, aparte eso de los MSGBOX yo las utilicé alguna vez en un lenguaje muy gracioso llamado VBScript, dudo que se siga utilizando hoy en día.
Oye, yo estoy trabajando en una librería C# para manejar números hipercomplejos (Cuaterniones, Octononiones, Sedeniones y sus Duales) [Matematica en si], la misma está dirijida para uso general (Para programas de ciencia [Fisica, quiemica, etc] pero tambien para un programa de diseño 3D parametrico [Rhino y Grasshopper]) Me pareció muy extremadamente importante lo del calculo "Paralelo", podrías hacerte un video más explicativo de ello??? Yo vengo de Assembler y C, y todavia me estoy acostumbrando a C#, aun que leí la documentacion, hay muchas cosas las cuales no tengo P... idea de como usar.
Vaya cada día se aprende algo. Gracias por el video
Gracias!
Sabía del potencial de Linq en C# pero no sabía de esto. .NET por su parte no deja de sorprender, lo único que le está faltando es poder operar con WASM / WebGL en conjunto mucho más flexible de una manera integrada por así decirlo. Creo que estaban trabajando en algo para poder llevar aplicaciones que puedan correr a nivel web HTML5 a otro nivel, le están dando caña y me gusta.
mi buen hdeleon excelente video!!!!
exelente información gracias
Increíble, Magia con C#. Cuando curso de F# ?
Gracias
Algunas de estas cosas me las enseñaron o requirieron de usarlas en clase, y la verdad aun seguía sin entender algunas de ellas.
Un genio!!!
Excelente video 🤘
Más vídeos así por favor 🙏
Esperando el video de arboles de expresión!
CUando hablaste de PLINQ, no mencionaste los Parallel foreach y for, con colleciones concurrentes. son muy poderosas tambien, y nadie las usa
( yo si )
Denle al like carajo. Hay que llegar a los 1500.
El truco de using32.dll ya lo habia conocido luchando para armar una ventana de windows en C (no C#) y no es nada facil pero si divertido como vas encontrando diferentes truco en C
para lograrlo estuve compilado desde CMD y ahí logre que directamente no se vea la pantalla de consola solo la de Windows además me la pase divirtiéndome hasta las 4 am (hay varios que lo toman mal pero me divierte programar )
Lo ultimo de usas las API de windows si lo conocí por que queria hacer un proyecto de usar el cursor y la pantalla completa de windows y aun esta en veremos por que no he podido hahaha.
😂 me sentí identificado con la tupla y la clase xd, gracias buen video
jajajajaja... Yo tampoco quiero parecer hámster, gran vídeo como siempre
video con arboles para crear lenguajes de programación por favor
un verdadero crack con C#.
jajjaja estuvo buena la broma del inicio, estoy viendo el video se que es muy buena info
Baia baia Tacubaya, por lo menos las tuplas, el IDisposable y el DllImport sí los sabía. Buen video 👍🏻
@hdeleon el Dios de C# y .Net🤟🏽🔥🔥🔥🔥🇩🇴
muy interesante tu video excelente
Chingón! sobre todo la parte de devolver diversos resultados en una función! muy cabrón! todo un master como siempre 😎
muchas gracias amigo justo finalice LINQ
En cuano al "VAR", eso no trae problemas de seguridad? (Overflow y todas esas cosas)?????
Muy bueno siempre se aprenden cosas
Excelente Héctor siempre aprendiendo contigo. Saludos. Y no soy un hamster. jejejeejejej
Que pedo wey! Pues claro que aprendí algo. Gracias por el contenido. 🤟
Excelente.
Messagebox bien retro
Tambien eres el unico programador que no ha sido reemplazado por una IA
we, no quieres la caminadora, pero tienes tu bola de pilates como silla XD
De la vieja escuela? Chaaaale 😓😓 jajaja. Buen video. Sí haz lo de los árboles. Está bien interesante.
Saludos mi estimado
muy interesante lo de las tuplas
arboles de expresion por favor
Alabado seas Héctor de León acá una insignificante estudiante de programación
Bueno somos 2k, asi que espero ese video perverso sobre expresiones
solo sabia lo del using... llevo 12 años con C#... hay que estudiar!
Arboles de expresión 👍👍
Tengo un problema con el hardware, cual es el verdadero requerimiento de c# para trabajar de forma optima con blazor para el desarrollo (ya lo vi en mac y es otra cosa ), a partir del cual generación de procesador y ram
AJAJAJJAJAJAJAJAJAJAJA la mejor intro de la historia
bro soy desarrollador c# pero estoy dudando si seguir aprendiendo mas de este lenguaje o aprender mas sobre otro por que cada vez son menos ofertas laborales que veo en este lenguaje, tu que opinas al respecto me interesaria saber la verdad, un saludo.
Buenos tips que tardaron en aprenderse
Excelente
Muy util, hay cosas que ni sabia xD
Ufff que cool Expression Trees
Creaste el video de árbol de expresiones?
No sabía que C# tenía contenido dinámico en variables
Dejo mi +1.
La ultima la utilizo para hacer bots que uso en juegos jeje
¡Lleguemos a los 1500 likes!
Que pedo discipulo del Mouredev, pa cuando un curso así completo de que es ser un Backend senior pero a lo que las empresas gringas piden? XD saludos
¿Qué opinas de los antivirus las personas deberían usarlo si no ? Saludos desde Venezuela
jajaja se gano el like y suscripción en 6 segundos
Quiero que seas mi mentor
Muy importante el tema, voy a sacar la caminadora del escritorio
Debías comentar la diferencia entre var y dyinamic. Porque siempre es un lío saber exactamente en qué momento se debe usar dynamic y no var.
arboles de expresion!
En Argentina están muy caras las cervezas.
👌
Hay mucho potencial en los árboles de expresión
🤘
Dennn like quiero el otro video
Es fácil ingresar al campo laboral con C#?
Para favorecer el algoritmo
Espero el Video de los arboles de expreciones CountLikes: 741
Que clase de magia arcana es esta. Cómo pueden programar eso hamters mientras caminan yo me mareo ja ja saludos