Introducción Dentro del ecosistema de los diferentes lenguajes de programación, tenemos la posibilidad de encontrar diferentes convenciones de codificación. Sobre ello escribí una entrada el año pasado por si quieres leer algo al respecto (La importancia de las convenciones de codificación:...
Introducción En una entrada anterior, veíamos de forma general algunos detalles con respecto al nuevo namespace System.Text.Json incorporado en .NET Core 3.x. En esta ocasión, vamos a ver de forma práctica algunas de sus aplicaciones generales. Agregando la referencia al namespace Lo prim...
Introducción Una de las mejoras incorporadas a .NET Core 3.0 ha sido el namespace System.Text.Json. Este namespace tiene como objetivo principal, unificar y simplificar las tareas y acciones que sobre un documento JSON (JavaScript Object Notation), necesitamos realizar permitiéndonos romper co...
Antes que nada, aprovecho para felicitar al lector por la llegada del nuevo año. ¡Le deseo muchas cosas buenas en 2020! Me permito esta vez alterar lo que sería un orden más natural de presentación de las nuevas características añadidas a C# 8.0 y saltar directamente a una de las más avanza...
La palabra clave contextual yield (no palabra reservada) tiene un uso y significado muy concreto en C#. Nota: puedes acceder a la lista de palabras clave contextuales de C# en este enlace El proceso de trabajo con yield es muy simple y al mismo tiempo muy beneficioso, sin embargo, es un gran des...
Quiero pensar que conoces el operador Null-Coalescing ?? y que posiblemente lo utilices en tus aplicaciones. Igualmente quiero pensar que también conoces el operador Null-Coalescing Assignment Operator ??= introducido en C# 8.0. Pues bien, vamos a repasar algunos conceptos y aplicaciones que tie...
Otra de las adiciones a C# 8.0 que se extrañaban desde hace mucho tiempo y cuya llegada se agradece son las expresiones switch (switch expressions). Una buena parte de las sentencias switch que ponemos en nuestro código fuente tienen como único objetivo computar un valor en dependencia de otro, y...
“Home, home on the range, Where the deer and the antelope play...” Canción folklórica del oeste nortemericano Ahora que ya tenemos oficialmente disponibles .NET Core 3.0 y C# 8.0, podemos con total propiedad continuar la presentación de las nuevas características del lenguaje introducidas e...
Introducción Con la aparición el pasado 23 de Septiembre de 2019 de .NET Core 3.0 en su versión final, he publicado también DotNetCore.FeatureFlags como versión definitiva. En esta entrada me gustaría aclarar y explicar algunas razones y motivaciones personales por las cuales he desarrolla...
Casi terminado ya (al menos oficialmente) el verano, continúo con la descripción de las nuevas características que se añadirán a C# 8.0. Esta entrada ya llevaba más de un mes "en el tintero", pero para las próximas intentaré adaptarme al ritmo y contenidos de la serie que irá publicando mi ...
Después de escribir una entrada el otro día sobre propiedades y readonly (Poner una propiedad a readonly no te asegura que sea readonly), y a colación de un interesante comentario de Eduard Tomás que hizo en la entrada que escribí, me he animado a escribir esta segunda entrada para explicar/a...
De forma escueta y muy resumida, la encriptación asimétrica nos permite encriptar contenido con una clave pública utilizando una clave pública y privada parar encriptar y desencriptar información. Esta técnica de seguridad se puede utilizar en .NET Core a través de la clase RSACryptoServic...
El título de esta entrada tiene un poco de truco, no lo voy a negar, pero no es menos cierto que tiene una buena parte de realidad. Tampoco es una entrada pensada para los programadores más experimentados de C# que ya conocen esto que voy a contar, pero sí viene bien para recordar algunas cosas y...
Bueno, he aquí un dilema que es más o menos como el tipado estático vs el dinámico o el preferir espacios o tabuladores: es decir, preferencia personal. Pero a veces las preferencias personales se ven influenciadas por lo que conocemos (o más precisamente por lo que desconocemos)... Así que de...
Como comentaba en una entrada anterior, yo aún sigo descubriendo algunas de las novedades del lenguaje que fueron incluidas en las tres releases puntuales que se liberaron bajo la etiqueta 7.x. Hoy hablaremos sobre la utilización del modificador readonly al definir estructuras (structs), que como...
Estaba yo revisando algunas de las nuevas características que quizá incorpore C# 9 y me he encontrado con la propuesta de type classes (shapes en la teminología de C#), que me parece bastante interesante y sobre la cual me gustaría hacer algunos comentarios :) Un type class (voy a dejarlo ...
En la entrada anterior comenzamos a hablar sobre las nuevas características que se añadirán a C# 8.0, partiendo de las más simples, en aquella ocasión las declaraciones using (using declarations). Hoy nos centraremos en otra al parecer muy sencilla, las funciones locales estáticas (static loca...
Microsoft ha anunciado la disponibilidad de .NET Core 3.0 Preview 5. Entre las novedades más destacables de esta versión preliminar encontramos un nuevo serializador de Json, la publicación de una aplicación en un único ejecutable, y cambios en la BCL. También hay mejoras en cuanto al rendi...
“Make everything as simple as possible, but not simpler” Albert Einstein Finalmente he logrado sacar un rato libre para empezar a probar la preview de C# 8.0 (versión que vendrá atada a .NET Core 3.0, como se preveía) y evaluar de manera práctica las nuevas incorporaciones que presenta. Y p...
Microsoft ha anunciado la disponibilidad de .NET Core 3.0 Preview 4. Entre las novedades de esta versión preliminar (ya está de camino la Preview 5 cuando escribía esta entrada) encontramos controler de gráficos para Windows Forms, soporte para HTTP/2, mejoras sobre el GC para que utilice men...