What is main use of Enumeration?

What is main use of Enumeration in c#?

Edited:- suppose I want to compare the string variable with the any enumeration item then how i can do this in c# ?

23
задан Red Swan 19 August 2010 в 07:03
поделиться

4 ответа

Часто вы обнаруживаете, что у вас есть что-то - данные, классификация, что угодно, - что лучше всего выразить как одно из нескольких дискретных состояний, которые могут быть представлены целыми числами. Классический пример - месяцы в году. Мы хотим, чтобы месяцы года можно было представить как в виде строк («19 августа 2010 г.»), так и в виде чисел («19 августа 2010 г.»). Enum предоставляет краткий способ присвоения имен группе целых чисел, поэтому мы можем использовать простые циклы по целым числам для перемещения по месяцам.

23
ответ дан 29 November 2019 в 00:41
поделиться

Определение в MSDN - хорошее место для начала.

Тип перечисления (также называемый перечисление или перечисление) обеспечивает эффективный способ определения набора именованных интегральные константы, которые могут быть присвоено переменной.

Основное преимущество этого состоит в том, что на константы можно ссылаться согласованным, выразительным и типобезопасным способом.

Возьмем, к примеру, этот очень простой класс Employee с конструктором:

Вы можете сделать это так:

public class Employee
{
    private string _sex;

    public Employee(string sex)
    {
       _sex = sex;
    }
}

Но теперь вы полагаетесь, что пользователи вводят только правильное значение для этой строки .

Используя перечисления, вы можете вместо этого иметь:

public enum Sex
{
    Male = 10,
    Female = 20
}

public class Employee
{
    private Sex _sex;

    public Employee(Sex sex)
    {
       _sex = sex;
    }
}    

Это внезапно позволяет потребителям класса Employee использовать его намного проще:

Employee employee = new Employee("Male");

Становится:

Employee employee = new Employee(Sex.Male);
45
ответ дан 29 November 2019 в 00:41
поделиться

Есть два значения перечисления в C #.

Перечисление (существительное) - это набор именованных значений. Пример:

public enum Result {
  True,
  False,
  FileNotFound
}

Перечисление (существительная форма глагола enumerate) - это когда вы проходите по элементам в коллекции.

Интерфейс IEnumerable используется классами, которые обеспечивают возможность перечисления. Массив - простой пример такого класса. Другой пример - то, как LINQ использует его для возврата результатов в виде перечислимых коллекций.

Изменить:

Если вы хотите сравнить строку со значением перечисления, вам нужно либо проанализировать строку до типа перечисления:

if ((Result)Enum.Parse(typeof(Result), theString) == Result.True) ...

, либо преобразовать значение перечисления в строку:

if (theString == Result.True.ToString()) ...

(будьте осторожны как вы сравниваете значения, в зависимости от того, хотите ли вы совпадение с учетом регистра или нет.)

Если вы хотите перечислить коллекцию и найти строку, вы можете использовать команду foreach :

foreach (string s in theCollection) {
  if (s == theString) {
    // found
  }
}
]
4
ответ дан 29 November 2019 в 00:41
поделиться

Тип перечисления (также называемый перечислением или перечислением) предоставляет эффективный способ определения набора именованных интегральных констант, которые могут быть присвоены переменной.

http://msdn.microsoft.com/en-us/library/cc138362.aspx

3
ответ дан 29 November 2019 в 00:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: