No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Uso de numeraciones en diccionario

17/35
Recursos

Teniendo un diccionario que sus llaves sean de tipo string vamos a encontrarnos con un problema al momento de programar: podríamos equivocarnos en el nombre de la llave escribiendo “cursos” en lugar de “Cursos”, esto ocasionaría que estemos accediendo a un lugar distinto del diccionario.

Para solucionar nuestro problema podemos hacer uso de variables constantes, pero solamente funcionaria dentro del fragmento de código actual. Una mejor solución seria hacer uso de un enum con los distintos nombres de las llaves y cambiar el tipo de la llave del diccionario de string a enum.

Aportes 12

Preguntas 3

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Para los que quieran saber un poco más de las estructuras, aquí va un poco de información.
Las estructuras son un tipo de clase que pueden ser usadas para almacenar objetos que directamente contienen datos, uno de sus usos es pequeñas estructuras de datos y para los diccionarios como es el caso de la clase.

Estas son algunas de las características de las estructuras:

• No pueden tener un constructor sin parámetros.
• Guardan los valores y no la referencia a la memoria como es el caso de las clases.
• Pueden ser instanciadas sin usar new.
• No pueden heredar de otras estructuras o clases pero si implementar interfaces.
• Los modificadores abstract y sealed no pueden usarse en ellas.
• Se les puede asignar null como valor.

Espero que sea de ayuda esta información que encontré.

A los enums tambien se les pueden asignar valores

public enum UnityEsLoMaximo
{
	ImposibleGanarle = 1,
	ImposibleVencerlo = 2,
	SocialismDoesNotWorkNoMatterHowHardYouTry = 3,
}

Considero que para este problema "vamos a encontrarnos con un problema al momento de programar: podríamos equivocarnos en el nombre de la llave escribiendo “cursos” en lugar de “Cursos”, esto ocasionaría que estemos accediendo a un lugar distinto del diccionario"
se puede solucionar comparando los keys en tolowercase como son sus values

Sin duda alguna las enumeraciones hacen que el código sea más legible y que podamos ver todos los posibles valores válidos que podemos utilizar.

Es una buena practica declarar las constantes con sus nombres en mayusculas.

const string SALUDO = "Hola platzi";

Para transformar en mayusculas en VS Code hay que presionar F1 o ctrl+shift+P y escribir transformar y ahi aparecen los comandos

También se pueden usar los enums para asignar valores literales o strings a una variable. Luego, haciendo cast, este valor se puede recuperar como string y usarse según la necesidad

Uso de numeraciones en diccionario

Al usar el diccionario polimórfico se puede encontrar el problema que se podría “repetir” el resultado del “key”, para poder resolver ese problema se debe utilizar un objeto “enum”.

Uso del tipo de objeto “struct”, este objeto es utilizado para generar estructuras que están constituidas por un grupo de variables que tienen una relación entre sí.
Es recomendable utilizar estructuras cuando se cuenta con tipos nativos (string, int, float, etc.)

public struct LLavesDiccionario
{
public const string CURSOS = “Cursos”;
public const string ALUMNOS = “Alumnos”;
public const string ASIGNATURA = “Asignatura”;
public const string ESCUELA = “Escuela”;
public const string EVALUACIONES = “Evaluaciones”;
}

Si bien son similares a las clases, las estructuras tienen algunas diferencias muy importantes:

Las estructuras no pueden tener un constructor sin parámetros.
Las estructuras no admiten la herencia.

El uso del objeto Enum, Las enumeraciones (o enumeraciones) son un conjunto de valores enteros a los que se les han asignado nombres. Su objetivo principal es facilitar la lectura del código y eliminar el uso de números mágicos, o números cuyo significado no es obvio a partir de su valor.

public enum LLaveDiccionarioEnum
{
Curso, //0
Alumno, //1
Asignatura, //2
Escuela, //3
Evaluaciones, //4
}

Se puede definir el valor de cada variable contenida en el enum sino se hace se asigna un valor definido para cada variable comenzando desde el 0.

Interesante

En este caso cuando tengo muchos datos constantes prefiero trabajar con enums

namespace Estudiantes
{
public enum WeekDays
{
Monday = 10,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
}

Como seria enum de string en c#?

Interesante

entendido.