ЧТО ТАКОЕ ПЕРЕЧИСЛЕНИЕ (ENUM) В ПРОГРАММИРОВАНИИ | ДЛЯ ЧЕГО НУЖЕН ENUM C# 😱

  Рет қаралды 5,610

Путь к Senior-у

Путь к Senior-у

Күн бұрын

Пікірлер: 33
@kastyel1990
@kastyel1990 5 ай бұрын
На вскидку, набирая с телефона можно сделать так: создавать свою енамкц не нужно. Кнопки есть в консолкее. Но можно пойти дальше. При нажатии вправо выводить на консоль пробел, если вниз, то добавлять перенос строки + подстроку между двумя переносами строк. Обернув все это в проверки на края экрана можно добиться того, что курсор будет перемещаться стрелками.
@CryptoPaddincgron
@CryptoPaddincgron Жыл бұрын
этой лучший канал по c# не забрасывай пж
@alexeyni722
@alexeyni722 Жыл бұрын
брат, спасибо тебе большое:)
@freshhuk
@freshhuk Жыл бұрын
Буду честен мне твой урок больше понравился чем у simple code
@МихайлоАнатолійовичБабич
@МихайлоАнатолійовичБабич Жыл бұрын
Пишу комент для хайпа, надеюсь ролик залетит кому-то в реки
@flore8211
@flore8211 8 ай бұрын
Привет, пришел сюда от симпл кода,жалко забросил и ты,но снимаете почти один в один контент. Пришел именно на этот видос так как не понял у симпла енам,здесь понял,но вот дз не очень. Енам то создашь на легке с такими же клавишами,что есть в консол кей. Только вот толку от этого нет) Ибо ридкей считывает консол кей и если попробовать привести твой енам к ридкею нихуя с этого не выйдет. Но вот обьяснил нормально
@pieshock5827
@pieshock5827 Жыл бұрын
Чтобы не спойлерить, оставлю решение ДЗ в комментариях комментария
@pieshock5827
@pieshock5827 Жыл бұрын
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; } } } } }
@ТагирЮсупов-г6ж
@ТагирЮсупов-г6ж 11 ай бұрын
лучшее объяснение, а то сколько можно уже
@fo4a299
@fo4a299 Жыл бұрын
люблю задания спс
@cunning_jumper
@cunning_jumper Жыл бұрын
Короче это что-то типа создания объекта, понятно.
@Dm_Freyr
@Dm_Freyr Жыл бұрын
А почему просто не использовать строки?
@VaultBoyVaultBoy
@VaultBoyVaultBoy Жыл бұрын
*На проэкте где как минимум несколько человек работают используют enum, чтобы другой разработчик при написании кода не напридумывал лишней логики, которая повторяется, но под другим названием. К примеру один из разрабов сделает логику с проверкой на строку с названием "speed", а другой на строку velocity. Смысл то один, а код будет дублирован. А так ему скажут или в документации опишут, что есть для его нужд перечисление, он найдёт это перечисление и увидит какие уже существуют названия и просто к ним обратится при проверке, ну там if (fieldSelected == Details.Speed) { ... }*
@Dm_Freyr
@Dm_Freyr Жыл бұрын
​@@VaultBoyVaultBoyспасибо, за разбор!
@rafk5341
@rafk5341 5 ай бұрын
@@Dm_Freyr енум - это просто числа, строка - это массив символов, быстрее сравнить одно число с другим, чем посимвольно перебирать строки
@ВладимирКожевников-ъ8м
@ВладимирКожевников-ъ8м 3 ай бұрын
Правильно говорить "Энам"
@karimahmed6363
@karimahmed6363 Жыл бұрын
Йэнам, йэнтер? страно звучит😅
@FrameCheats
@FrameCheats 15 күн бұрын
сделал но посвоему
@FrameCheats
@FrameCheats 15 күн бұрын
class Program { static void Main() { while (true) { ConsoleKey key = Console.ReadKey().Key; switch (key) { case ConsoleKey.A: Console.WriteLine("character is walking left"); break; case ConsoleKey.S: Console.WriteLine("character is walking backward"); break; case ConsoleKey.D: Console.WriteLine("character is walking right"); break; case ConsoleKey.W: Console.WriteLine("character is walking forward"); break; } } } }
@FrameCheats
@FrameCheats 15 күн бұрын
или using System; using System.Runtime.CompilerServices; enum PlayerMovement { A, W, S, D } class Program { static void Main() { while (true) { PlayerMovement key = (PlayerMovement)Console.ReadKey().Key; switch (key) { case PlayerMovement.A: Console.WriteLine(key); break; case PlayerMovement.W: Console.WriteLine(key); break; case PlayerMovement.S: Console.WriteLine(key); break; case PlayerMovement.D: Console.WriteLine(key); break; } } } }
@Firverkqz7
@Firverkqz7 Жыл бұрын
Тело свитча в одну строку уместил case ConsoleKey.W:Console.WriteLine("Вы идете вперед");break;case ConsoleKey.S:Console.WriteLine( "Вы идете назад");break;case ConsoleKey.D:Console.WriteLine("Вы идете направо");break;case ConsoleKey.A: Console.WriteLine("Вы идете налево");break; Я гений?
@A_coder240
@A_coder240 Жыл бұрын
да я тоже так сделал но будет легче с помощю goto key;
@tizzireactions9197
@tizzireactions9197 6 ай бұрын
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; } }
@king_fox_3106
@king_fox_3106 Жыл бұрын
Ого, да ты многого не знаешь. Существует еще такой класс в системе, Enum называется. Да, точно так же как и твоё перечисление. Много чего умеет, в том числе преобразовывать из текста в перечисление. Можно создать массив перечислений и много чего ещё интересного =)
@senior_v_IT
@senior_v_IT Жыл бұрын
Да но мы даже не изучали классы. Я не могу сразу к этому классу перейти так как мы с абсолютного нуля по очереди проходим все темы
@king_fox_3106
@king_fox_3106 Жыл бұрын
@@senior_v_IT Это классика =)
@safuzeplay9543
@safuzeplay9543 Жыл бұрын
Решение: 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
@gopnikkasarj6797 11 ай бұрын
не догадался бы, спс
@arsJS
@arsJS 11 ай бұрын
это не правильное решение задачи@@gopnikkasarj6797
@shotdan
@shotdan 11 ай бұрын
И смысл? Ты используешь enum ConsoleKey, а не свой Dvij.
@W_O_I_F
@W_O_I_F 7 ай бұрын
@@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; } } } вот так наверное имелось ввиду в задании
@СергейФаюршин-н8з
@СергейФаюршин-н8з 5 ай бұрын
Почему вы все используете метод Console.ReadKey().Key? Когда говорилось о преобразовании типа enum? enum move { W, S, A, D, L } static class Program { static void Main(string[] args) { while (true) { switch ((move)(Convert.ToInt32(Console.ReadLine()))) { case move.W: Console.WriteLine("Персонаж движется вверх"); Console.WriteLine(Convert.ToInt32(move.W)); break; case move.D: Console.WriteLine("Персонаж движется вправо"); Console.WriteLine(Convert.ToInt32(move.D)); break; case move.A: Console.WriteLine("Персонаж движется влево"); Console.WriteLine(Convert.ToInt32(move.A)); break; case move.S: Console.WriteLine("Персонаж движется вниз"); Console.WriteLine(Convert.ToInt32(move.S)); break; } } } }
진짜✅ 아님 가짜❌???
0:21
승비니 Seungbini
Рет қаралды 10 МЛН
ЧТО ТАКОЕ ПОТОК? [МЬЮТЕКС, СЕМАФОР]
20:46
АйтишныйДомосед
Рет қаралды 29 М.
Enums in .NET 8 Are FAST, but Mine Are Faster!
9:03
Nick Chapsas
Рет қаралды 39 М.
ЛУЧШИЕ книги для C# программиста
10:34
ExtremeCode
Рет қаралды 165 М.