En mi camino para estudiar programación ha habido problemas simples, pero interesantes para resolver como ejercicios. Uno de esos problemas era rotar una matriz (u otra colección) por un cierto valor. Aquí compartiré contigo una fórmula sencilla para hacerlo. # Ejemplo de un método genérico que rota
LEER# Coincidencia única using System.Text.RegularExpressions; string pattern = ":(.*?):"; string lookup = "--:text in here:--"; // Instanciate your regex object and pass a pattern to it Regex rgxLookup = new Regex(pattern, RegexOptions.Singleline, TimeSpan.FromSeconds(1)); // Ge
LEEREl nameof operador le permite obtener el nombre de una variable , tipo o miembro en forma de cadena sin codificarlo como un literal. La operación se evalúa en tiempo de compilación, lo que significa que puede cambiar el nombre de un identificador al que se hace referencia, utilizando la función de
LEER# Operador nulo-condicional El ?. El operador es azúcar sintáctico para evitar verificaciones nulas detalladas. También se conoce como el operador de navegación segura . Clase utilizada en el siguiente ejemplo: public class Person { public int Age { get; set; } public string Name { get; se
LEER# Uso básico Usando el null-coalescing operator (??) le permite especificar un valor predeterminado para un tipo anulable si el operando de la izquierda es null . string testString = null; Console.WriteLine("The specified string is - " + (testString ?? "not provided")); Demos
LEER# Escribiendo una buena anulación de GetHashCode GetHashCode tiene efectos importantes en el rendimiento de Dictionary<> y HashTable. Bien GetHashCode Métodos debería tener una distribución uniforme; cada número entero debería tener aproximadamente la misma posibilidad de regresar para una instanc
LEER# Tipos de igualdad en C# y operador de igualdad En C#, hay dos tipos diferentes de igualdad:igualdad de referencia e igualdad de valor. La igualdad de valores es el significado comúnmente entendido de igualdad:significa que dos objetos contienen los mismos valores. Por ejemplo, dos números enteros
LEER# Declaración If-Else La programación en general a menudo requiere un decision o un branch dentro del código para dar cuenta de cómo funciona el código bajo diferentes entradas o condiciones. Dentro del lenguaje de programación C# (y la mayoría de los lenguajes de programación para este asunto), la
LEEREn C#, un operador es un elemento de programa que se aplica a uno o más operandos en una expresión o declaración. Los operadores que toman un operando, como el operador de incremento (++) o nuevo, se conocen como operadores unarios. Los operadores que toman dos operandos, como los operadores aritmét
LEER# literales uint uint los literales se definen usando el sufijo U o u , o usando valores integrales dentro del rango de uint : uint ui = 5U; # literales int int los literales se definen simplemente usando valores integrales dentro del rango de int : int i = 5; # literales de sbyte sbyte tipo
LEER# Creando una nueva aplicación de consola (Visual Studio) Abrir Visual Studio En la barra de herramientas, vaya a Archivo → Nuevo Proyecto Seleccione la aplicación de consola tipo de proyecto Abra el archivo Program.cs en el Explorador de soluciones Agregue el siguiente código a Main() : public c
LEERCuando usa la reflexión para ver las propiedades de un tipo, puede usar PropertyInfo.PropertyType.IsEnum para verificar si la propiedad es una enumeración. Esto es útil cuando desea poder llamar de forma segura a un método API de Enum (como Enum.Parse()) en el tipo reflejado, evitando así una excepc
LEERDe forma predeterminada, cuando carga valores de enumeración en un ComboBox, mostrará los nombres de enumeración. Si desea mostrar las descripciones de la enumeración (del atributo [Descripción]) y aún así poder obtener el valor de enumeración seleccionado, puede hacer lo siguiente: Generar una lis
LEERLos formularios también tienen una colección de controles (Controles property) que puede recorrer. Esto es útil cuando desea hacer algo con varios controles y no desea tener que escribir manualmente el código para manejar los controles individuales. Este es un ejemplo de recorrer los controles de
LEERCuando recorre un diccionario, ya sea con un método foreach o con un método Linq, estará tratando con objetos KeyValuePair, que tienen propiedades de clave y valor (los mismos tipos que el diccionario). Aquí hay un ejemplo de cómo recorrer un diccionario con un foreach: var wordCountMap = new Dict
LEERAquí hay un ejemplo de cómo obtener la fecha/hora actual: var now = DateTime.Now; Console.WriteLine($"Current local time: {now}"); Code language: C# (cs) Esto genera la fecha/hora local actual: Current local time: 6/21/2022 3:45:42 PMCode language: plaintext (plaintext) Nota:De forma prede
LEERLa forma más sencilla de obtener la clave con el valor máximo en un diccionario es usar el método Linq MaxBy() (agregado en .NET 6). Esto devuelve el par clave/valor con el valor máximo. He aquí un ejemplo: using System.Linq; var animalCountMap = new Dictionary<string, int>() { ["fish
LEERLas zonas horarias son complicadas y sus reglas pueden cambiar, por lo que tiene sentido usar una biblioteca cuando se trata de ellas. Una opción en .NET es usar la clase TimeZoneInfo integrada. Este es un ejemplo del uso de TimeZoneInfo para obtener la zona horaria del sistema local: var localTime
LEEREl desplazamiento UTC de una zona horaria puede cambiar según la época del año debido al horario de verano. Un problema con la clase TimeZoneInfo es que TimeZoneInfo.DisplayName siempre muestra el desplazamiento UTC base, incluso si la fecha actual está en el horario de verano. Esto puede resultar c
LEEREn .NET 5 y superior, puede cambiar directamente los valores de un diccionario en un bucle foreach. He aquí un ejemplo: var wordCountMap = new Dictionary<string, int>() { ["apple"] = 1, ["cat"] = 5, ["dog"] = 10 }; foreach (var word in wordCountMap) { wordCountMap[
LEER