c# - que - ¿Cuál es el uso principal de la enumeración?
que es un enum en java (10)
Hay dos significados de enumeración en C #.
Una enumeración (sustantivo) es un conjunto de valores nombrados. Ejemplo:
public enum Result {
True,
False,
FileNotFound
}
La enumeración (forma del sustantivo del verbo enumerar) es cuando recorre los elementos de una colección.
La IEnumerable<T>
es utilizada por las clases que proporcionan la capacidad de enumeración. Una matriz es un ejemplo simple de tal clase. Otro ejemplo es cómo LINQ lo usa para devolver resultados como colecciones enumerables.
Editar:
Si desea comparar una cadena con un valor de enumeración, tiene que analizar la cadena al tipo de enumeración:
if ((Result)Enum.Parse(typeof(Result), theString) == Result.True) ...
o convertir el valor enum a una cadena:
if (theString == Result.True.ToString()) ...
(Tenga cuidado al comparar los valores, dependiendo de si desea o no una coincidencia sensitiva de mayúsculas y minúsculas).
Si desea enumerar una colección y buscar una cadena, puede usar el comando foreach
:
foreach (string s in theCollection) {
if (s == theString) {
// found
}
}
¿Cuál es el uso principal de la enumeración en c #?
Editado: suponga que quiero comparar la variable de cadena con cualquier elemento de enumeración, ¿cómo puedo hacer esto en c #?
La definición en MSDN es un buen lugar para comenzar.
Un tipo de enumeración (también denominado enumeración o enumeración) proporciona una manera eficiente de definir un conjunto de constantes integrales con nombre que pueden asignarse a una variable.
El principal beneficio de esto es que se puede hacer referencia a las constantes de una manera consistente, expresiva y de tipo seguro.
Tomemos, por ejemplo, esta clase de Employee
muy simple con un constructor:
Podrías hacerlo así:
public class Employee
{
private string _sex;
public Employee(string sex)
{
_sex = sex;
}
}
Pero ahora confía en que los usuarios ingresen el valor correcto para esa cadena.
Usando enums, en su lugar puedes tener:
public enum Sex
{
Male = 10,
Female = 20
}
public class Employee
{
private Sex _sex;
public Employee(Sex sex)
{
_sex = sex;
}
}
De repente, esto permite que los consumidores de la clase Employee lo usen mucho más fácilmente:
Employee employee = new Employee("Male");
Se convierte en
Employee employee = new Employee(Sex.Male);
La enumeración (Enum) es un tipo de variable. Podemos encontrar este tipo de variable en C, C # y muchos otros idiomas. La idea básica para Enum es que si tenemos un grupo de variables de tipo entero (de forma predeterminada), en lugar de usar demasiados valores int, solo use un Enum. Es una manera eficiente. Supongamos que quieres escribir colores del arco iris, entonces puedes escribir así:
const int Red = 1;
const int Orange = 2;
const int Yellow = 3;
const int Green = 4;
const int Blue = 5;
const int Indigo = 6;
const int Violet = 7;
Aquí puedes ver demasiadas declaraciones int. Si usted o su programa cambian por error el valor de cualquier variable de número entero, es decir, Violeta = 115 en lugar de 7, será muy difícil de depurar.
Así que, aquí viene Enum. Puede definir Enum para cualquier grupo de variables de tipo entero. Para Enum puedes escribir tu código así:
enum rainBowColors
{
red=1,
orange=2,
yellow=3,
green,
blue=8,
indigo=8,
violet=16)
};
rainBowColors es un tipo y solo se le pueden asignar otras variables del mismo tipo. En C # / C ++, debe escribir casting mientras que en C no debe escribir cast.
Ahora, si desea declarar una variable de tipo rainBowColors entonces en C
enum rainBowColors variableOne = red;
Y en C # / C ++ puedes hacer esto como:
rainBowColors variableOne = red;
Las enumeraciones en mi experiencia han funcionado en casos muy específicos y deben usarse cuando sea absolutamente necesario mantener esto en su aplicación. Los problemas entran en juego con Enums cuando se trabaja con varios desarrolladores y algunos desarrolladores nuevos se incorporan a un proyecto y pueden agregar un enumeración a la aplicación, sin errores, todo se acumula, pero luego tiene otro desarrollador de pila completa que mantiene esta misma lista en una búsqueda. Tabla en un orden diferente. Kaboom !!!!
Quemó muchas veces con eso, incluso si no es intencional. La regla de oro no mantiene una lista de enumeraciones en una aplicación de más de 5 o 6 elementos. Si es más alto, también puede almacenarlos en una tabla de búsqueda en la base de datos de su elección.
Las enumeraciones son constantes fuertemente tipadas. Las enumeraciones son conjuntos especiales de valores con nombre que todos se asignan a un conjunto de números, generalmente números enteros. Son útiles cuando desea poder elegir entre un conjunto de valores constantes, y con cada valor posible relacionado con un número, se pueden utilizar en una amplia gama de situaciones. Como verá en nuestro ejemplo, las enumeraciones se definen arriba de las clases, dentro de nuestro espacio de nombres. Esto significa que podemos usar enumeraciones de todas las clases dentro del mismo espacio de nombres.
using System;
namespace ConsoleApplication1
{
public enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }
class Program
{
static void Main(string[] args)
{
Days day = Days.Monday;
Console.WriteLine((int)day);
Console.ReadLine();
}
}
}
Otra ventaja de utilizar Enum es que, en caso de que sea necesario cambiar cualquiera de los valores enteros, debemos cambiar solo la definición de Enum y podemos evitar cambiar el código por todas partes.
Tomemos un ejemplo, estamos tomando una constante normal en una clase como int a = 10;
por error asignamos un nuevo valor a esa variable en esa misma clase como a = 20; Entonces obtendremos datos erróneos cuando queramos acceder a ellos. enumeración de forma segura de acceso constante.
Además, si tenemos muchas constantes en una clase, tendremos que memorizarlas si queremos usarlas en una clase. pero enum contiene un grupo de constantes de nombres relacionados, si queremos acceder a la constante, solo tendremos que memorizar el nombre de enumeración.
Un tipo de enumeración (también denominado enumeración o enumeración) proporciona una manera eficiente de definir un conjunto de constantes integrales con nombre que pueden asignarse a una variable.
Enumeración (ENUM)
Una enumeración es un tipo de valor con un conjunto de constantes relacionadas relacionadas, a menudo referidas como una lista de enumeradores. La palabra clave enum se utiliza para declarar una enumeración. Es un tipo de datos primitivo, que es definido por el usuario.
Los tipos de enumeraciones pueden ser enteros (float, int, byte, double, etc.). Pero si lo usas al lado de int tiene que ser lanzado.
enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; enum Months : byte { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };
A menudo descubres que tienes algo (datos, una clasificación, lo que sea) que se expresa mejor como uno de varios estados discretos que se pueden representar con números enteros. El ejemplo clásico son los meses del año. Nos gustaría que los meses del año se puedan representar como ambas cadenas ("19 de agosto de 2010") y como números ("19/8/2010"). Enum
proporciona una forma concisa de asignar nombres a un grupo de enteros, por lo que podemos usar bucles simples a través de enteros para pasar de un mes a otro.