Работа с перечислениями в c#

В данной заметке опишу как создавать перечисления, как парсить, как сравнивать и тп.

  1. Создаем перечисление
    public enum Colors
    {
        Red, Green, Blue
    }
    
  2. Сравниваем перечисления
    Colors red = Colors.Red;
    if (red.Equals(Colors.Red))
        Console.WriteLine("Yes");
    else
        Console.WriteLine("No");
    
    // Вывод: Yes
    
  3. Делаем обход перечислений
    foreach(Colors c in Enum.GetValues(typeof(Colors))
        Console.WriteLine(c);
    
    //Вывод: Red Green Blue
    
  4. Конвертируем — в строку, в число
    string redAsString = red.ToString();
    int redAsInt = (int)red;
    
  5. Парсим — из строки, из числа
    red = (Colors)Enum.Parse(typeof(Colors), "Red");
    red = (Colors)Enum.ToObject(typeof(Colors) , 0);
    
  6. Пишем расширение, позволяющее получить названия перечислений
    public static class ColorsExt
    {
        public static string GetTitle(this Colors c)
        {
            switch (c)
            {
                case Colors.Red: return "Красный";
                case Colors.Green: return "Зеленый";
                case Colors.Blue: return "Голубой";
                default: return null;
            }
        }
    }
    // использовать так
    Console.WriteLine(Colors.Red.GetTitle());
    // Вывод: Красный
    
По теме:
Выполняем get запрос по расписанию c#

Напишем простенькую программу, которая будет выполнять get запрос по истечению определенного интервала времени. class Program { private static Timer _timer; Read more

Выполняем действие по расписанию (asp.net, c#)

Раньше я писал программку, которая выполняла get запрос по расписанию, но так же можно написать обычный HttpModule, который будет делать Read more

Выбираем технологии и инструменты для разработки веб приложений

1 Выбор и настройка инструментов для разработки фронтенда (только самые важные): 1.1 Twitter bootstrap — фреймворк позволяет писать качественную верстку Read more

Делаем водяной знак на картинке (c#, .net)

Нанесем несколько раз картинку watermark на другую картинку. public void DrawWatermark(string watermarkImagePath, System.Drawing.Image image) { using (System.Drawing.Image watermarkImage = System.Drawing.Image.FromFile(watermarkImagePath)) Read more

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *