Cosas que NO SABES de C#

preview_player
Показать описание
En este video abordaremos cosas poco conocidas del lenguaje de programación C#.

📚 Mis Libros

🤖 Mi Setup

#programación #dev #programming
Рекомендации по теме
Комментарии
Автор

Hector me mataste con el comentario de que parecen hamsters jjajajajaj

ElWeao
Автор

Claro que sí. Dos de los temas, no los había visto. Gran video. Seria muy interesante mas videos sobre arboles de expresiones.

usuario_
Автор

Excelentes tips, muchos de ellos los fui aprendiendo con los años y ahora lo resumes en unos minutos 😅

fredycaballero
Автор

¡Gracias por traernos un video más! Y sí, queremos saber más de árboles de expresión por favor!

harimdeleo
Автор

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.

fernandocacciola
Автор

Que buen video! Entre lo que hiciste con el Using y el dispose, tambien hay una interfaz que puedes utilizar para meter objetos customizados y tratarlos como una lista. Es decir meter el objeto directamente a un foreach esto es con la interfaz IEnumerable

brandonlopez
Автор

De lo mejor que he visto en mucho tiempo. Gracias por compartir esta información tan interesante.
No tendrás un video de creación avanzada de controles personalizados y de interfaces de usuario?
Muchas gracias.

choryaldian
Автор

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.

jorgecaceres
Автор

este video me gusto mucho .. haz mas videos de estos es muy interesante. (arboles de expresion)

highlanders
Автор

8:15, interesante, estaría bueno un vídeo explicando las ventajas de desventajas de usar eso.

yaxon_
Автор

Rifado como siempre! 🤘 me quede intrigado con los árboles… de lo demás ya eh tenido un leve acercamiento.

hersokrock
Автор

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#

Remusqs
Автор

Tu video resume el largo camino que varios llevan en este medio

elpiruwebmaster
Автор

Estoy orgulloso de que lo supe todo. Por cosas como estas C# siempre será mi favorito

binarydog
Автор

¡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

deivycode
Автор

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.

Salika
Автор

jajjaja estuvo buena la broma del inicio, estoy viendo el video se que es muy buena info

CDevVVV
Автор

Como siempre, aprender contigo es un placer.

cargime
Автор

mil gracias. CLARO QUE SE APRENDE!!!! gracias por compartir.

luisitacarrasquillo
Автор

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);

body = Expression.Subtract(paramA, paramB);
var subExp = Expression.Lambda<Func<int, int, int>>(body, paramA, paramB);
Console.WriteLine(subExp);
Console.WriteLine(subExp.Compile()(6, 2));



var numbers = Enumerable.Range(1, 1000);

var parallelQuery = => number % 2 == 0);
parallelQuery.ForAll(number => Console.WriteLine(number));




dynamic some = 2;
Console.WriteLine(some);
some = "hello";
Console.WriteLine(some);

dynamic func = new Func<int, int, int>((a, b) => a + b);
Console.WriteLine(func(1, 2));
func = new Func<int, int, int>((a, b) => a - b);
Console.WriteLine(func(1, 2));
func = new Func<int, int, int>((a, b) => a * b);
Console.WriteLine(func(1, 2));
func = new Func<int, int, int>((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()
{

}
}



(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

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);
}

kvelez