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 鈥渃ursos鈥 en lugar de 鈥淐ursos鈥, 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:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

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,
}

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

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

const string SALUDO = "Hola platzi";

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.

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 鈥渃ursos鈥 en lugar de 鈥淐ursos鈥, esto ocasionar铆a que estemos accediendo a un lugar distinto del diccionario"
se puede solucionar comparando los keys en tolowercase como son sus values

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 鈥渞epetir鈥 el resultado del 鈥渒ey鈥, para poder resolver ese problema se debe utilizar un objeto 鈥渆num鈥.

Uso del tipo de objeto 鈥渟truct鈥, 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 = 鈥淐ursos鈥;
public const string ALUMNOS = 鈥淎lumnos鈥;
public const string ASIGNATURA = 鈥淎signatura鈥;
public const string ESCUELA = 鈥淓scuela鈥;
public const string EVALUACIONES = 鈥淓valuaciones鈥;
}

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.