ЧТО ТАКОЕ ПЕРЕЧИСЛЕНИЕ (ENUM) В ПРОГРАММИРОВАНИИ | ДЛЯ ЧЕГО НУЖЕН ENUM C# 😱
Vložit
- čas přidán 8. 02. 2023
- Сегодня в видео я вам расскажу что такое перечисление в программирований и покажу как можно создавать перечисление (enum).
----------------------------------------------------------------------------------------------------------------------------------
✅Поддержать канал (на Boosty много доп. контента которого на CZcams нету): Boosty - boosty.to/roadtosenior
----------------------------------------------------------------------------------------------------------------------------------
Кроме примитивных типов данных в языке программирования C# есть такой тип как enum или перечисление. Перечисления представляют набор логически связанных констант.
Объявление перечисления происходит с помощью оператора enum:
enum название_перечисления
{
// значения перечисления
значение1,
значение2,
.......
значениеN
}
----------------------------------------------------------------------------------------------------------------------------------
Ресурсы по данной теме:
1. learn.microsoft.com/ru-ru/dot...
2. metanit.com/sharp/tutorial/2....
3. cutt.ly/N3fsbmy
4. professorweb.ru/my/csharp/cha...
----------------------------------------------------------------------------------------------------------------------------------
✅Наша группа в Telegram: t.me/senior_v_IT
✅Instagram: / sashok_543359
✅VK: sasha543359
----------------------------------------------------------------------------------------------------------------------------------
✅MetaMask кошелек (поддержать криптовалютой): 0xF3D906a4E4E8bA83831f2ea56EB5a8E2B20dbC39
----------------------------------------------------------------------------------------------------------------------------------
#программирование #сишарп #урокипрограммирования
этой лучший канал по c# не забрасывай пж
брат, спасибо тебе большое:)
Пишу комент для хайпа, надеюсь ролик залетит кому-то в реки
Привет, пришел сюда от симпл кода,жалко забросил и ты,но снимаете почти один в один контент. Пришел именно на этот видос так как не понял у симпла енам,здесь понял,но вот дз не очень. Енам то создашь на легке с такими же клавишами,что есть в консол кей. Только вот толку от этого нет) Ибо ридкей считывает консол кей и если попробовать привести твой енам к ридкею нихуя с этого не выйдет. Но вот обьяснил нормально
Буду честен мне твой урок больше понравился чем у simple code
люблю задания спс
лучшее объяснение, а то сколько можно уже
Чтобы не спойлерить, оставлю решение ДЗ в комментариях комментария
namespace Enum
{
enum KeyMove
{
A = 65,
D = 68,
S = 83,
W = 87
}
internal class Program
{
static void Main(string[] args)
{
while (true)
{
KeyMove a = (KeyMove)Console.ReadKey().Key;
switch (a)
{
case KeyMove.A:
Console.WriteLine("
Игрок идёт влево");
break;
case KeyMove.D:
Console.WriteLine("
Игрок идёт право");
break;
case KeyMove.W:
Console.WriteLine("
Игрок идёт вперёд");
break;
case KeyMove.S:
Console.WriteLine("
Игрок идёт назад");
break;
}
}
}
}
}
Короче это что-то типа создания объекта, понятно.
Йэнам, йэнтер? страно звучит😅
Ого, да ты многого не знаешь. Существует еще такой класс в системе, Enum называется. Да, точно так же как и твоё перечисление. Много чего умеет, в том числе преобразовывать из текста в перечисление. Можно создать массив перечислений и много чего ещё интересного =)
Да но мы даже не изучали классы. Я не могу сразу к этому классу перейти так как мы с абсолютного нуля по очереди проходим все темы
@@senior_v_IT Это классика =)
Тело свитча в одну строку уместил case ConsoleKey.W:Console.WriteLine("Вы идете вперед");break;case ConsoleKey.S:Console.WriteLine( "Вы идете назад");break;case ConsoleKey.D:Console.WriteLine("Вы идете направо");break;case ConsoleKey.A: Console.WriteLine("Вы идете налево");break; Я гений?
да я тоже так сделал но будет легче с помощю goto key;
Решение:
namespace Enum
{
enum Dvij
{
W,
A,
S,
D
}
internal class Program
{
static void Main(string[] args)
{
while (true)
{
ConsoleKey dvij = Console.ReadKey().Key;
switch (dvij)
{
case ConsoleKey.W:
Console.WriteLine("Игрок идёт вперёд");
break;
case ConsoleKey.A:
Console.WriteLine("Игрок идёт влево");
break;
case ConsoleKey.S:
Console.WriteLine("Игрок идёт назад");
break;
case ConsoleKey.D:
Console.WriteLine("Игрок идёт влево");
break;
}
}
}
}
}
не догадался бы, спс
это не правильное решение задачи@@gopnikkasarj6797
И смысл? Ты используешь enum ConsoleKey, а не свой Dvij.
@@shotdan {
enum Dvij
{
Вперед,
Назад,
Налево,
Направо,
Стоп
}
static void Main(string[] args)
{
while (true)
{
ConsoleKey dvij = Console.ReadKey().Key;// Переменная типа ConsoleKey
switch (dvij)
{
case ConsoleKey.W:
Console.WriteLine("
" + (Dvij)0);
break;
case ConsoleKey.A:
Console.WriteLine("
" + (Dvij)2);
break;
case ConsoleKey.S:
Console.WriteLine("
" + (Dvij)1);
break;
case ConsoleKey.D:
Console.WriteLine("
" + (Dvij)3);
break;
case ConsoleKey.Spacebar:
Console.WriteLine("
" + (Dvij)4);
break;
}
}
}
вот так наверное имелось ввиду в задании
А почему просто не использовать строки?
*На проэкте где как минимум несколько человек работают используют enum, чтобы другой разработчик при написании кода не напридумывал лишней логики, которая повторяется, но под другим названием. К примеру один из разрабов сделает логику с проверкой на строку с названием "speed", а другой на строку velocity. Смысл то один, а код будет дублирован. А так ему скажут или в документации опишут, что есть для его нужд перечисление, он найдёт это перечисление и увидит какие уже существуют названия и просто к ним обратится при проверке, ну там if (fieldSelected == Details.Speed) { ... }*
@@VaultBoyVaultBoyспасибо, за разбор!
enum Movement
{
W,
A,
S,
D
}
while (true)
{
var key = Console.ReadKey().Key.ToString();
if(Enum.TryParse(key, out Movement movement))
{
var tryKey = Enum.Parse(typeof(Movement), key);
switch (tryKey)
{
case Movement.W:
Console.WriteLine("Вы идёте вперёд");
break;
case Movement.A:
Console.WriteLine("Вы идёте налево");
break;
case Movement.S:
Console.WriteLine("Вы идёте назад");
break;
case Movement.D:
Console.WriteLine("Вы идёте направо");
break;
}
}