Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
9 / 9 / 0
Регистрация: 27.01.2013
Сообщений: 248

Разобрать код с Enum

01.07.2014, 17:17. Показов 921. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, не пойму строчку кода. Вроде бы как енам простая тема, но че-то в коде запарился
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using System;
 
enum Priority
{
    Zero,
    Low,
    Medium,
    Important,
    Critical
};
 
class Program
{
    static void Main()
    {
    // New local variable of the Priority enum type.
    Priority priority = Priority.Zero;  //Что здесь происходит ??
 
    // Set priority to critical on Monday.
    if (DateTime.Today.DayOfWeek == DayOfWeek.Monday)
    {
        priority = Priority.Critical;
    }
 
    // Write this if the priority is important.
    if (IsImportant(priority))
    {
        Console.WriteLine("The problem is important.");
    }
 
    // See if Low priority is important.
    priority = Priority.Low;
    Console.WriteLine(IsImportant(priority));
 
    // See if Important priority is.
    priority = Priority.Important;
    Console.WriteLine(IsImportant(priority));
    }
 
    static bool IsImportant(Priority priority)
    {
    // Switch on the Priority enum.
    switch (priority)
    {
        case Priority.Low:
        case Priority.Medium:
        case Priority.Zero:
        default:
        return false;
        case Priority.Important:
        case Priority.Critical:
        return true;
    }
    }
}
В упор не могу понять эту строку кода. Понятно что создалась переменная типа Priority, но что мы ей присваиваем не могу понять вообще. Получается мы переменной целого класса присваиваем одно значение из такого же класса. Но как это понять ??
C#
1
Priority priority = Priority.Zero;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.07.2014, 17:17
Ответы с готовыми решениями:

Разобрать код
Прошу пояснить код программы, что где и почему. там по идеи должно быть: 1.В каждом классе спроектировать методы инициализации...

Разобрать код
Думал все просто тут, но выводит "A"... Почему? class Program { private Program(System.Object o) { ...

Разобрать код
int del = 1; var s1 = zapros.Where(n => zapros.ElementAt(del) != n); var s2 =...

3
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
01.07.2014, 17:41
Перечисления — это именованые значения, по сути синтаксический сахар для констант.
Их использование можно интерпретировать так:
C#
1
2
3
4
5
6
7
const int Zero = 0;
const int Low = 1;
const int Medium = 2;
const int Important = 3;
const int Critical = 4;
 
int priority = Zero;
1
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
02.07.2014, 17:20
Перечисление - это значимый тип, так что можно отдалённо представить, что у вас есть переменная priority, которая может принимать экземпляры типа Priority, причём они уже в готовом виде есть в самом классе.
Иллюзию поддерживает простое приведение типов между числовыми типами (как int) и перечислениями.
Можно в перечислении видеть
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public struct Priority
{
    public const int Zero = 0;
    public const int Low = 1;
    public const int Medium = 2;
    public const int Important = 3;
    public const int Critical = 4;
 
    public static implicit operator Int32(Priority p) {
        // ...
    }
 
    // и т.д.
}
1
0 / 0 / 2
Регистрация: 28.10.2013
Сообщений: 6
02.07.2014, 23:34
согласен со всем, написанным выше.
простыми словами - вы всего навсего присваиваете переменной priority значение Zerо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.07.2014, 23:34
Помогаю со студенческими работами здесь

Разобрать код
Нужно распарсить текст. Нашел какой-то пример, вроде все работает, только не могу разобраться в некоторых моментах. Вот описания...

Разобрать код
Может кто–нибудь объяснить что здесь используеться class Privat_firm : Firm { string tovar_vupiskf; ...

Разобрать код с делегатами
Добрый день, возникло недопонимание с делегатами, прочитал статьи, но все равно, мозг никак не хочет со мной сотрудничать... public...

Обобщения - разобрать код
Друзья, подскажите пожалуйста. Почему если строчку class b : ITest<b> заменить на class b : ITest<int> то код не компилится. Какая...

Разобрать код шифровки
Исходя из найденного на просторах интернета кода: string t1 = richTextBox3.Text; for (int i = 0; i < t1.Length; i++) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru