enum c# ЧТО ЭТО И ДЛЯ ЧЕГО НУЖНО | перечисления enum c# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 54
HTML-код
- Опубликовано: 20 июн 2024
- В этом уроке мы выясним что такое enum в языке программирования C# (они же перечисления), для чего они нужны и рассмотрим примеры как их использовать.
✅ИСХОДНЫЙ КОД / iskhodnyi-kod-k-42432540
🔹 Telegram канал t.me/SergeySimpleCode
🔹 Наша группа ВК smplcode
✅ Доступ к исходному коду и спонсорство / simplecode
✅ donatepay.ru/don/SimpleCode
✅ BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
✅ Подписывайтесь на канал / @simplecodeit
00:00 ► зачем нужен enum на примере реального использования
04:36 ► пишем свой enum
06:46 ► какой базовый тип дынных использует enum
07:15 ► как узнать базовый тип данных перечисления
08:26 ►зачем изменять базовый тип данных enum
09:45 ► примеры работы с enum
13:05 ► enum и приведение типов
16:20 ► получаем список всех возможных значений enum
17:10 ► парсинг enum
19:29 ► полезная фича enum и swich
#сишарп #simplecode #урокипрограммирования
Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)
✅Доступ к исходному коду и спонсорство www.patreon.com/SimpleCode
✅ donatepay.ru/don/SimpleCode
✅BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
У нас в колледже C# - основой язык программирования. Нас прикрыли на дистанционку и ссылки на ваши видео даны, как необходимые к изучению лекции. Я же смотрел ваши уроки ещё с начала курса и теперь с лёгкостью решаю все задания, которые нам задают. Спасибо большое!!!
Отлично у нас устроено образование: студент - колледж - Сергей SimplCode. Студенты учатся, Сергей учит... кх... зачем в этой цепочке колледж? :)
@@norfolkleb9851 диплом )
@@user-lm8py5rb4m это да) для программиста диплом очень важен))
щас походу везде так,я сам со скиллбокса сюда пришел,отдал им сто тысяч чтобы в итоге учиться тут),причем там большинство ребят наших учатся именно тут а не там,а там тупо домашки делают когда начинают понимать тему)
@@user-he3ds1so2b шо скилбокс такая лажа?(хотел курс по юнити у них купить(
Такие уроки - синтаксический сахар для зрителей))
Этот замечательный урок еще немного прокачал мой скилл, я весьма доволен!
Как всегда шикарное объяснение, перестал ходить в универ, у Вас нет воды, качественные материалы, преподы так не рассказывают, хорошо, что вы у нас есть, спасибо!
Очень трогательно, но в универ все равно ходите) Даже если там сплошная вода, там еще бесценный жизненный опыт и полезные знакомства - всегда пригодятся )
Все же в универ ходить стоит
@@norfolkleb9851 За этим и поступил туда)))) + еще самому учусь жить
@@vitor_corve сколько стоит?
@@ptichkasinichkamia тысяча голды
Спасибо, с первого раза не понял и со второго тоже, пришлось гуглить , и наконец с третьего раза понял))
Сергей, спасибо за уроки! Мне 17, мечтаю создавать игры, но нужна база C# и вы в этом очень помогаете)
Классная мечта! Игры спасают от войн и насилия. Успехов вам в этом нелегком деле)
ну как успехи?
Как дела? Получается?
@Я UwU R А что такого если тебе 18? Мне 29, но я хочу изучить программирование, потому что задолбался ебашить на заводе.
@@Assakur999 так же ))) если хочешь можем вместе изучать ... есть у тебя дискорд?
Спасибо большое за уроки , очень жаль что перестали выдавать ДЗ так как очень помогает с закреплением. А на просторах интернета найти задачки по конкретным темам довольно проблематично
отличным заданием к данному уроку было бы создание метода составляющего календарь на год по месяцам. Решить можно и без enam'ов, но это на практике покажет их удобство
Благодарю за Урок.
Спасибо за отличный урок!
Спасибо за Ваш труд!
Большое спасибо за очередной урок :)
Ви лутший учитель . Моя информатичка нервно курит в сторонке.)
Спасибо! Как всегда очень лаконично!
Спасибо за урок!
Спасибо за урок, очень много, а главное понятно узнал о enum...
Сергей, спасибо!
Про switch в конце офигенная фишка) Ни за чтобы не догадался на самом деле. Надо запомнить.
Спасибо большое за отличные видео уроки
Поддерживающий комментарий для дальнейшего развития канала. Вы чрезвычайно понятно все объясняете
Спасибо за уроки, как всегда лайк
Большое спасибо, очень подробно
Спасибо, очень круто, очень здорово!
Добрый день! Спасибо за уроки. Думаю, что так же ключевой особенностей Enum в том, что он статик. Хотелось бы разобрать лямды и колбеки
Ураа новый урок!!
Спасибо!
Хороший урок. Полезный! Но на плюсах enum мне больше понравился.
ой пора идти спать , 10 урок подряд прохожу , очень много информации, уроки бомба но нужны перерывы
Как у вас так быстро получается? У меня 1 урок на 1,5 дня 😂
@@user-gh2ml3cf5o как успехи?
@@user-wf7xn3wl1e он умер
Лол, я как-то сам по себе ультанул и за 2 дня оказался на финальных уроках @@user-gh2ml3cf5o
Супер! Спасибо!
Спасибо !!!
наконец-то новый урок!)
спс за уроки
супер!!!! спасибо огромное!!!!
Со Switch/case'ами в конце был приятно удивлён) Реально полезная фича, много где можно применить.
Годнота...!
Спасибо за урок . Что-то как то много новых слов :_)
Лучший!❤
Спасибо))
Спасибо
Ураааааа! Я дошел до ООП.
как всегда топ
Топ видос)
Крутой канал, смотрю
это было очень полезно спасибо. я уж думал что "энамы" знаю а тут вот оно что) И вопрос, кто эти люди которые дизлайки ставят?
кто этот один человек, который поставил дизлайк :-)
Дизлайк наверное по ошибке поставили, не попали по значку.
@@-yourlife2168 либо же житель Австралии)
@@GanovAlex Их уже двое) ух уж эти австралийцы)
Золотой ты человек
Сергей, спасибо за урок! Как всегда на уровне) А можно в следующих уроках разобрать рефлексию и атрибуты?
рефлексия будет после ООП
@@SimpleCodeIT понял, спасибо!
Thank goodness
самый лучший етубер
“Что это за число 13? Это что магическое число какое-то?» Иронично.
Сергей, выпускайте хотя бы по 2-а урока в неделю. Ждать так долго по 1-у уроку =(
Добрый день, Сергей! Скажите пожалуйста сколько еще примерно уроков вы планируете сделать по с#? Чтобы понять на сколько мы изучили язык. Спасибо!
как же все подробно)
Рекомендую.
Думаю надо добавить условие в код которое определяет следующий день "if day ==dayofweak; return day - 6;
Как всегда приятное для просмотра видео, смотришь и отдыхаешь. Спасибо за Ваш труд. Один вопрос: что за значок "синей кнопки" на полях редактора на 21:40 (где размещается значок точки останова, закладка и т.д.)?. Не встречал такой в VS
Советую конспектировать и придумывать свои примеры для практики - очень помогает.
выпусти пожалуйста уроки про программу cheat engine и изменение данных в оперативной памяти через c#
спасибо за урок !!! есть вопрос почему в GetNextDay мы можем в условии сравнивать переменные типа enum не приводя их к целым числам?
Коммент для продвижения в канала.
пытался это выучить по Andrew Troelsen Pro С# 9... пять раз перечитал ничего не понял. Тут, как всегда, всё стало ясно сразу
со switch прям магия
Сделайте пожалуйста видео о многопоточной обработке данных. Думаю это будет очень актуально.
Про это точно видео есть, хотя может это было в уроках по C++, но суть и объяснения думаю очень похожие. Поищите на канале
Видео по нейронкам намечается?
Автор, подскажи, у тебя есть видео по IEnumerable?
можешь следуюoий урок сделать dfs bfs
Добрый день! Спасибо за уроки.
Как вывести на косоль первую букву дня недели?спс.
Разобрался)
при создании enum, Sunday = 7 всё как на видео.
DayOfWeek dayOfWeek = DayOfWeek.Sunday
Console.WriteLine((int)dayOfWeek)
в консоле пишет 0 думал что урок не актуален.
посидел подумал и в enum первый день поставил Sunday. +1 не присваивал так как не срабатывает
if (day < DayOfWeek.Saturday)
return day + 1;
return DayOfWeek.Sunday; Теперь всё работает.
Кажись я начинаю понимать, что такое быть программистом! Голову ломать придётся постоянно!
Спасибо Большое! Очень полезный урок. У Вас стоит какой-то плагин - Debugger? Моя VS не умеет так удобно отображать значения переменных, это я что-то недонастроил?
дебаг - это дефолтный функционал Visual Studio
@@SimpleCodeIT я это понимаю. Просто у меня, например , он выглядит сильно иначе.
@@fallingboy9195 Не. Я просто не знал, что поля можно фисировать) Так что видео и правда оказалось полезным, хотя и не так, как предполагалось)
Даёшь C++ в массы!
Есть целый плей-лист на этом канале по C++ , его уже давали в массы, теперь вот дают C# )
генерация всех кейсов для инама похожа на магию
Замечательный урок, но у меня возник один вопрос (впервые за 54 урока). Я не могу понять почему мы исполmзуем typeof... К примеру в строке if (Enum.IsDefined(typeof(DayOfWeek), value)) - разве DayOfWeek это не тип, который мы создали? Не понимаю почему используется typeof. Я проверила даже что вообще выводит typeof(DayOfWeek) и мне стало еще более непонятно. Если с простыми типами - то все понятно что выводит typeof, то с enum что-то странное и так же не совсем понимаю почему его надо в примерах урока добавлять. Заранее спасибо всем, кто сможет объяснить )
Сейчас изучаю, и тоже задался этим вопросом, вы сейчас сможете обьяснить?
@@user-qt9ub3ff1o Насколько я понял (я сейчас этот ролик последним просмотрел) этого требует интерфейс метода IsDefined, он требует чтобы на вход поступил именно тип, который и возвращает typeof
Он создал переменную с этим названием
так числа или не числа? что будет если четверг единицей обозвать?
Привет ,Сергей, меня зовут Ян ,я из небольшой страны под названием - Беларусь, я уже как 2 месяца изучаю C#, сначала начинал на долгих(по часу) и нудных уроках и потом наткнулся на вас, каждый день смотрел по 2-4 урока ,всё записывал и практиковался, и вот настал тот день, когда я уже всё просмотрел , и так же параллельно учусь в 11 классе, а смотреть 1 урок в неделю для мне просто смешно и бессмысленно. Так вот к чему я всё веду ,у меня к вам очень серьёзный вопрос, мне забивать на с# и переходить на ваши уроки по с++ или же искать другой источник по изучению с#, но вы мне так понравились, что другие на фоне вас просто ужасны, я надеюсь, что вы заметите меня и обязательно мне ответите, ещё раз спасибо за ваши уроки!!!!
Привет, согражданин.
На мой скромный взгляд.
С поправкой на то, что я изучаю программирование ( C#, в частности ;D ) третий день.
Если тебя устраивает C#, то нет никакого смысла переходить на C++, ибо это не ступень развития C#, а другой язык программирования.
Я рекомендую тебе продолжать изучать синтаксис, определиться со специальностью, в которой желаешь трудиться в дальнейшем. Есть различные статьи и видео по поводу сфер применения С#.
Возьмись за литературу/видео по этой сфере.
А там и до фриланса дорастёшь.
Notabilis ,смысл в том,что этот канал самый лучший источник по изучению основ с#,а вот остальные нудные и непонятные, я сегодня нашел один форум,но там чел программирует на визуалке 2015 года на фреймворке,а не коре.(но главное ,что бесплатно)
@@royaleplace5383 Существуют ещё и книги. Почитай на форумах по поводу каких-то актуальных учебников по C#. Тем более, что большая часть синтаксиса переходит с версии в версию без изменений. А так, как я слышал, советуют изучать английский и сидеть на английских порталах. Там всегда находится код первой свежести.
Также есть и платные курсы, что по сути будут равносильны ВУЗу, но без лишней мишуры.
Как я и говорил, есть ещё огромный пласт материала по специализациям. Присмотрись, возможно, знания, что были получены за 2 месяца уже достаточны для того, чтобы начать изучать и его.
Программирование хорошо тем, что даёт безграничные возможности для самообразования, потому я и заинтересовался им, обучаясь в ВУЗе на совершенно противоположном ему направлении.
P.S.
Ну и хорошей идеей будет подсадить на изучения C# своего друга. Всегда легче и интереснее вместе что-то узнавать, объяснять друг-другу непонятное и делиться информацией.
Notabilis ,сложно мне будет всё это совмещать,еще и платить за документальные книги и за курсы.
Я вообще учусь в 11 классе и много денег уходит на репетиторов,а с#,это на будущее,а вот про то,чтобы подсадить друга - это очень неплохая идея,спасибо тебе,ты меня замотивировал что-ли :)
Сразу вижу ,что ты очень приятный человек в общении,но к сожалению мне пора идти,а то сегодня вставать рано)
нужно найти для себя идею для какого-нибудь проекта, тогда программирование будет интереснее и понятнее и потихоньку развиваться в выбранном направлении
Почему выдает ошибку если создавать перечисление внути метода Main? Почему его нужно обязательно делать перед методом?
ЛОгика железная, Понедельник - первий день недели, потому что он рабочий)))
Enum
блин, а что если вот дошел до этого урока и все ЗАБЫЛ, заново пересматривать курс?
надо использовать весь выученный материал на практике после каждого видоса
Спасибо за урок, сори, что не по теме вопрос, может кто подсказать. string concatWith(char devide = ' ', params string[] str) хочу сделать функцию, которая принимает параметрами строки и разделяет их символом, по умолчанию пробелом. Но такой код не будет работать, так как, если вы объявляете параметр по умолчанию, то после него все параметры должны быть с параметрами по умолчанию, но params всегда должен стоять в конце объявленных аргуметов, следовательно, чтобы это работало ему нужно указать значение по умолчанию. Можно ли это сделать? Саму функцию можно и по другому описать, думаю, без такого. Тут вопрос чисто теоритический
Вроде как и так будет работать, для params не надо задавать значение по умолчанию, он и так не обязательный
Точнее сказать, будет работать если использовать именованные аргументы и передавать params как обычный массив. Например, concatWith(str: new string[] {"str1", "str2", "str3"});
А что означает в console.writeline знак $ ?
сможешь в строку вставить что-нибудь как через '+' ("I have " + count + "cats"),
так и через '{' '}' ($"I have {count} cats")
@@user-dh5uu2ce9z Дякую)
Очень классно, что ты повторяешься (т.е. ты смотрел видео месяц назад скажем про свитч и не помнишь, то ты напоминаешь "повторение мать учения", а если не повторяешь то ссылаешься на какое нибудь видео из курса. Нет такого, что не не и хер с вами...должны всё помнить...или гуглите вспоминайте, а потом смотрите это видео)
dict из пайтона?
тоже показалось, что есть что-то общее
Enum это как словарь на минималках?
Эта точка зрения тоже вполне правильная, потому что енам как и дикшенери хранит значение-ключ, только если в дикшенери это могут быть абсолютно любые внутренние значения включая другие классы и дикшенери, то здесь оно работает исключительно инт-стринг и имеет кучу методов для работы с ним
Я так и не понял, как работает TryParse с enum. Подскажет кто-то на этом примере ?
Если будет написано fkrkrk1, то будет выбран кейс в энуме 1, если будет fkfkdkdj(без цифр) то будет 0 кейс в энуме. Я так понял
@@user-ix4cm7ch5z ну да , оно ж может слово распарсить в цифру только если в нашем энаме уже есть этл значение , так как оно имеет интовое значение . Но ч немного не о том . Я не понял как именно записать tryparse , какие там должны быть аргументы и т д .
если вдруг еще актуально и для будущих учеников...
string str = Console.ReadLine();
DayOfWeek day;
Enum.TryParse(str, true, out day);
switch(day)
{
...
}
А вот почему нельзя использовать простой объект для перечисления ?
20:40 Делаю то же, что и автор видео, но автоматом ничего не генерируется. Кто может помочь советом?
зачем в парсинге написали Color color?
я так понял что Энам это что-то вроде массива?
Здравствуйте, могли бы вы мне посоветовать книгу по изучению с#?
@@fallingboy9195 читал отзывы по первой книги, ужасный перевод говорят, есть книга про . NET и C#7
If(если вы в чате)
Добавьте меня
else
давайте создадим, иногда куча вопросов, спросить не у кого.
На момент моего комментария Вижла не хочет автоматически создавать кейсы с типами Enum, жаль
Почему мне как новичку так трудно воспринимать этот урок?(
а что делать если очень плохая база в колледже и очень легкая и поэтому толку от неё мало и уже 19 лет, как изучать теперь программирование и можно ли вообще это сделать? потому что я уже в говно абсолютно себя приравнял из за всех этих бросаний с 12 лет (именно с 10 или 12 я заинтересовался программированием)
чел, смотри с первого урока, я сам такой же, уже на 30ом уроке и мне все понятно и очень интересно
Да, чувак, правильно тут отвечают, смотри с самого начала уроки и все у тебя получится, все поймешь ) Мне уже за 30 и мы с тобой смотрим одни и те же уроки ) Все получится, нужно только понять, зачем тебе это нужно и все будет хорошо, я узнавал ) Успехов
На этом уроке я перестал понимать С#
В чем польза энама? ЧТо мне мешает создать свой namespace и напихать туда констант?
И всё таки как же сильно в C# обрезан функционал enum-ов по сравнению с Java..
зачем етот ваш Consolekey когда можно тупа приравнять из char в int :d
Я никак не могу понять эту тему...
Я также) надо еще смотреть несколько раз после перерыва
@@vladimir_pl Как я понял, знаменитая Ошибка-404 тоже часть этой темы. Может, так станет немного понятнее (Хотя, мне всё равно пока не помогло)) :
enum HTTPStatus: Int
{
case ok = 200
case created = 201
case accepted = 202
case badRequest = 400
case unauthorized = 401
case forbidden = 403
case notFound = 404 //Она самая!
case internalServerError = 500
}
Сергей мы найден этого человека который поставил вам дизлайк
Три недели прошло! Нашли?)) Кто он?
Год с чем-то прошёл. Нашли кого-нибудь?
blya pervi raz chelovek ogarchil menya..... oCHEN neudachnoe nazvanie peremennix vibral -_- nu pryam ochen, shto za 70 urokov pervi Dislike postavil, potom radi uvajenie otmenil dislike ....! no i za etix neudachnix imen peremennix ochen snizil skorost osvaivanie
Сам то понял что написал?
при получении след дня подсвечивает ошибка:
Ошибка CS0161 "Program.GetNextDay(DayOfWeek)": не все пути к коду возвращают значение.
Также и с двумя return - CS0162 Обнаружен недостижимый код.
Кто - нибудь знает в чём может быть проблема?