МОДИФИКАТОР IN C# и бенчмарк | РАЗНИЦА между IN REF и OUT | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 45

  Рет қаралды 76,151

#SimpleCode

#SimpleCode

Күн бұрын

Пікірлер: 169
@SimpleCodeIT
@SimpleCodeIT 4 жыл бұрын
Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =) ✅Доступ к исходному коду и спонсорство www.patreon.com/SimpleCode ✅ donatepay.ru/don/SimpleCode ✅BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
@MrHazur
@MrHazur 4 жыл бұрын
У меня нет высшего образование (только 11 классов) Раньше пробовал, что-то программировать в кавычках. Но серьезно изучать С++ начал 3,5 года назад. Твои видео уроки сдвинули меня с мертвой точки. Они научили меня правильно задавать вопросы и находить на них ответы. Пол года назад прошел собеседование - теперь я джуниор. Спасибо тебе огромное.
@Malosolnyj_ogurec
@Malosolnyj_ogurec 4 жыл бұрын
Круто, мотивирует двигаться дальше!!)))
@klabukov_dmitry
@klabukov_dmitry 3 жыл бұрын
Думаю будет правильно выразить материальную благодарность автору, который своим трудом так помог вам)
@Sokkez
@Sokkez 3 жыл бұрын
А щас кто?
@ilya9261
@ilya9261 3 жыл бұрын
как то ты долго изучал
@MrHazur
@MrHazur 3 жыл бұрын
@@klabukov_dmitry Да я об этом думал, и думаю. Хочу это сделать, когда мой первый, серьезный проект выйдет из dev.
@topdeck202
@topdeck202 4 жыл бұрын
Сейчас закрываю сессию, нет времени смотреть. Но всегда захожу и ставлю лайк, когда вижу новое видео. Спасибо за то, что вы делаете!!
@ТатьянаНоскова-р4ы
@ТатьянаНоскова-р4ы 4 жыл бұрын
Сергей, я сейчас всех рассмешу! Всегда восхищалась IT-шниками и завидовала их увлекательной работе!😄😄😄😄😄. Не было времени начать учиться, да и страшно, что всё равно ничего не пойму! Всё началось с вашего плейлиста по HTML. Решила первый послушать✌✌✌✌✌. Пока ещё 2 недели изучаю и пока всё понятно. Правда сижу сутками🐸🐸🐸🐸🐸🐸🐸. Благо, что на пенсии!!! Какое это прекрасное время ПЕНСИЯ👍👍👍👍👍👍. Правда, времени, что до, что после, как уволилась с должности - НЕ ХВАТАЕТ🙊🙊🙊🙊🙊🙊. А у Вас прирожденный Дар преподавать✌✌✌✌✌✌.СПАСИБО❤❤❤❤❤❤
@valerii7104
@valerii7104 11 ай бұрын
@@some-js Уже сениор хах как видишь
@BuFFerS103
@BuFFerS103 4 жыл бұрын
*Я человек простой, вижу видео Сергея - ставлю лайк!*
@stasiqueihnatsenka8226
@stasiqueihnatsenka8226 4 жыл бұрын
Классно объяснил всего за 15 минут на простых и понятных примерах
@DmitryDolganov
@DmitryDolganov 4 жыл бұрын
Сергей, салюют! Спасибо тебе огромное за информативные лекции!!!
@воваказаков-й7э
@воваказаков-й7э 4 жыл бұрын
Спасибо тебе большое! Думаю даже на платных курсах мне бы так не объяснили. Серьезно, из уроков на Ютубе - это самые топ!
@nazarshevchenko856
@nazarshevchenko856 3 жыл бұрын
Господи насколько же это качественное пояснение. Очередное спасибо)!
@_chill_relax_calm4647
@_chill_relax_calm4647 3 жыл бұрын
Поддерживающий комментарий для развития канала
@vyacheslavlouten8681
@vyacheslavlouten8681 4 жыл бұрын
Дождался нового урока) Благодарю вас Сергей за данный курс, вы мне очень помогли!
@mikhailmaliakin8080
@mikhailmaliakin8080 3 жыл бұрын
Объяснение, как всегда на высоте)Спасибо
@ДмитрийЛюбименко-щ4у
@ДмитрийЛюбименко-щ4у 4 жыл бұрын
Каждый день ты спасаешь миллионы студентов на сессии! =))
@VladisS.Vostok2000
@VladisS.Vostok2000 4 жыл бұрын
Очень годно. До этого думал, что это только лишь чтобы обезопасить входящие данные от изменений.
@АлександрПасевич-п1ч
@АлександрПасевич-п1ч 4 жыл бұрын
Крутейше объясняешь. Ты топ! Спасибо тебе)
@liko8019
@liko8019 4 жыл бұрын
лучший канал о программировании!!!
@GoodBoy-hs7pv
@GoodBoy-hs7pv 4 жыл бұрын
Сергей, спасибо огромное! You are breathtaking!
@alinanur5628
@alinanur5628 3 жыл бұрын
Гениально и просто! Вы всегда можете доходчиво и интересно объяснить то, что казалось до этого сложным и непонятным)))Спасибо огромное за ваш труд, не останавливайтесь !!!
@matem101
@matem101 4 жыл бұрын
Отличный урок!
@ДмитрийАлексеев-ж1г
@ДмитрийАлексеев-ж1г 4 жыл бұрын
Благодарю, Сергей!
@I-PixALbI4-I
@I-PixALbI4-I 4 жыл бұрын
Спасибо за уроки. Почаще бы выходили!!!
@alvoltta
@alvoltta 4 жыл бұрын
Только вчера прочитал эту тему, спасибо!
@Mr.Epsilion
@Mr.Epsilion 2 жыл бұрын
Thanks for teaching us, it's really simple and help to understood.
@vazhnygus
@vazhnygus 2 ай бұрын
кто-то: вы продаете рыбов? оператор in: нет, просто показываю кто-то: красивое
@ЄвгенБойко-ф9ж
@ЄвгенБойко-ф9ж 2 жыл бұрын
Спасибо, Сергей! Твой труд заслуживает большего!
@keyable
@keyable 2 жыл бұрын
Great lessons! Wish there will be continuation!
@denr721
@denr721 2 жыл бұрын
В очередной раз, спасибо за урок. От себя хочу добавить что IN не всегда может не менять значение. Если в качестве параметра будет выступать значимый тип (структура, энам), то данные в параметре изменить никак не получиться => и данные начальной переменной изменить в методе не удастся. Но если, в качестве параметра будет выступать ссылочный тип (классы), то сами данные, которые в куче изменить можно, а вот ссылку модифицировать никак нельзя. Т.е то что находиться в Стэке он модифицировать отказывается
@Sashad2003
@Sashad2003 3 жыл бұрын
Спасибо. Все очень доступно и подробно объясняешь. 👍
@artyomvoytenko1237
@artyomvoytenko1237 4 жыл бұрын
Спасибо за наглядный тест) Теперь все понятно
@currydenz5542
@currydenz5542 3 жыл бұрын
В универе и то меньше информации про такие вещи, а вам спасибо за это
@firstvf
@firstvf 2 жыл бұрын
Самый наглядный пример оптимизации) Спасибо :b
@ifelru
@ifelru 3 жыл бұрын
Спасибо за урок! Было полезно и интересно.
@bignumber9483
@bignumber9483 4 жыл бұрын
Спасибо за урок
@t3m8ch79
@t3m8ch79 4 жыл бұрын
Спасибо за ролик!
@dimasavukov6230
@dimasavukov6230 4 жыл бұрын
Огромное спасибо!
@НадеждаИванова-п1с
@НадеждаИванова-п1с 3 жыл бұрын
Благодарю!!!
@user-wt1hc4hm3t
@user-wt1hc4hm3t 3 жыл бұрын
Всегда удивляюсь наличием "Не нравится" от 3-6 шт, кто эти люди??? Спасибо Автору за ценный контент и развернутое пояснение.
@МайнингМозга
@МайнингМозга 3 жыл бұрын
Серега Ты лучший!!!!
@b-films9344
@b-films9344 3 жыл бұрын
В последние время на ТыТрубе смотрю почти только ваш канал)
@egorkalmykov4003
@egorkalmykov4003 3 жыл бұрын
Спасибо !!!
@leskhanmuratuly5374
@leskhanmuratuly5374 4 жыл бұрын
Спасибо)
@alexmam2886
@alexmam2886 3 жыл бұрын
Сергей, доброго времени суток. Занимаюсь по Вашим урокам, очень доходчиво объясняете. Интересно знать, Вы работаете с# программистом или работали таковым?
@OleksandrOryshchenko
@OleksandrOryshchenko 3 жыл бұрын
Прогнал бенчмарк на своём компе и разница составила ~1000мс между методами. Значния были 8,5к и 7,5к соответственно. Думаю тут ещё не маловажную роль играет скорость ОЗУ разница между DDR3 и DDR4 существенная.
@3x__
@3x__ 4 жыл бұрын
Спасибо за урок!
@motofun-qv7zc
@motofun-qv7zc 2 жыл бұрын
Отлично!
@Shipa_kLg
@Shipa_kLg 4 жыл бұрын
Большое спасибо за урок, а какие вы книги посоветуете для изучения C#?
@akstis4183
@akstis4183 4 жыл бұрын
Спасибо
@АрманРахимов-т5н
@АрманРахимов-т5н 4 жыл бұрын
Круто
@ビターリ
@ビターリ 3 жыл бұрын
просто поставлю 100 тый комментарий
@fillion6288
@fillion6288 3 жыл бұрын
Оптимизация программы - это одно из главных
@moranyt8299
@moranyt8299 Жыл бұрын
Спасибо за урок, теперь знаю больше. Думаю такими темпами, к концу года все таки стану мидлом, а то уже засиделся на позиции джуна =)
@aescasse
@aescasse 2 жыл бұрын
капец очень понятные и логичные объяснения
@АлексейКарпунов-х8э
@АлексейКарпунов-х8э 3 жыл бұрын
аааа как же я уже хочу ООП
@artlinestudio6735
@artlinestudio6735 3 жыл бұрын
Очень полезный, легкий и интересный урок. Спасибо Сергей. Интересно в плюсах константная ссылка может дать такой же еффект? )
@ПавелБойко-ь2д
@ПавелБойко-ь2д 3 жыл бұрын
Спасибо за урок! интересно , досмотрю ли я этот курс до конца =/
@JohnDoe-uu5jy
@JohnDoe-uu5jy 3 жыл бұрын
А не происходит ли неявной операции boxing-а при передаче параметра структурного типа с ключевыми словами ref,out,in ?
@DARKNETOFFICIAL
@DARKNETOFFICIAL 3 жыл бұрын
То чувство когда даже с In твой ведро ПК выполнял код 30 секунд
@andreypan1608
@andreypan1608 3 жыл бұрын
супер
@artemky3bmu45
@artemky3bmu45 Жыл бұрын
Thank you
@AlSlTlElL
@AlSlTlElL 4 жыл бұрын
Сергей приветствую, я правильно понимаю что хорошей практикой считается использование in во всех ситуациях когда нету необходимости в методе изменять принимаемое значение? Или только в тех ситуация когда действительно нужно оптимизировать работу метода?
@dzmitry.herasimenka
@dzmitry.herasimenka 4 жыл бұрын
только когда нужна оптимизация, любые лишние нагорождения мешают читабельности на больших проектах (имхо)
@AlSlTlElL
@AlSlTlElL 4 жыл бұрын
@@dzmitry.herasimenka ок, спасибо
@kalipso5785
@kalipso5785 Жыл бұрын
Дошел до 45 урока, осталось почти столько же.
@AleksandrKozlov-xc3km
@AleksandrKozlov-xc3km 5 ай бұрын
как успехи?
@WhiskasCorn
@WhiskasCorn Ай бұрын
@@AleksandrKozlov-xc3km как успехи?
@boriscontube
@boriscontube 2 жыл бұрын
Эквивалентно ли передавать в качестве аргумента, для которого при определении метода указан IN, переменную по ссылке с разными модификаторами: IN и REF?
@klayd4009
@klayd4009 4 жыл бұрын
Сергей здравствуйте! А вы не хотите сделать курс по Java? Говорят она похожа на C++/C#
@gamemoments8183
@gamemoments8183 4 жыл бұрын
автор спасибо ! вот скажите сколько будет уроки и это примерно сколько времени займет например год или 2 года
@shushard
@shushard 4 жыл бұрын
👍
@chahlik698
@chahlik698 2 жыл бұрын
Дякую!
@boriscontube
@boriscontube 2 жыл бұрын
Можно ли инициализировать IN-аргумент при определении функции (типа инициализации по умолчанию)?
@D-And-A221
@D-And-A221 3 жыл бұрын
Так и не понял как ЗАПИСАТЬ данные в in, чтобы потом их извлечь. Как впихнуть то самое х=1 чтобы потом вызвать "с большей скоростью и защитой"? int, float, struct, string- как всё это использовать?
@kostya_engineer
@kostya_engineer 3 жыл бұрын
Дмитрий через ref передается еще быстрей ( не на много, но быстрее), ну а с ref можно делать что угодно. А вот где применить in пока не знаю. Сам изучаю С# по этим урокам.
@kostya_engineer
@kostya_engineer 3 жыл бұрын
По всей видимость с параметром in во входном аргументе метода переменная передается как константа. Если попытаться присвоить ей значение, V_Studio пишет, что переменная используется только для чтения. Ну и так как мы , в данном случае с in работаем в другой области памяти, то работа выполняется быстрее.
@ilya9261
@ilya9261 3 жыл бұрын
Зачем ты пытаешься записать данные в то, что только для чтения? В этом то и суть, что нельзя изменять это значение
@popandopolim
@popandopolim Жыл бұрын
Реклама модификатора in на протяжении 15 минут 51 секунды смотреть бесплатно без смс и регистрации
@liko8019
@liko8019 4 жыл бұрын
4:24 распутал))
@fox__gun6420
@fox__gun6420 4 жыл бұрын
именно так и выглядят танцы программиста с бубном, что бы понять куда можно поставить 2 (!) буквы.
@elfinroom1178
@elfinroom1178 4 жыл бұрын
моему компуктеру понадобилось 30 и 7 сек на подсчет . тяжеловато старичку приходится)
@kostya_engineer
@kostya_engineer 3 жыл бұрын
У меня вообще 43 и 9
@oldosgame
@oldosgame 3 жыл бұрын
Не понял, почему, когда работаем с Foo, данные будут копироваться?
@sabatonbaton6105
@sabatonbaton6105 3 жыл бұрын
О боже как я орнул с "Все вот наши усилия"
@boriscontube
@boriscontube 2 жыл бұрын
Можно ли передать в IN-аргумент неинициализированную переменную?
@liko8019
@liko8019 4 жыл бұрын
13:23 все наши усилия ахаххаха
@boriscontube
@boriscontube 2 жыл бұрын
? При передаче в IN-аргумент переменной, без написания рядом с ней IN (т.е. при вызове функции без указания при вызове модификатора IN для аргумента, для которого при определении функции был указан модификатор IN), НЕ ПРОИЗОЙДЕТ передача по ссылке, а произойдет передача по значению (и эффект будет такой же, как если бы не было написано IN при определении функции (метода)).
@akamurun6563
@akamurun6563 2 жыл бұрын
Получается ref создаёт прямую связь между объектами out создаёт связь между объектами и никак иначе in указывает на объект, но не позволяет изменять его?
@5yga457
@5yga457 3 жыл бұрын
Посоветуйте литературу по С#, а то почитать тоже хочется)
@pulsar1934
@pulsar1934 3 жыл бұрын
Библия С#
@vael6555
@vael6555 8 ай бұрын
В c# 12 добавили ref readonly, вот тут то и непонятно его отличии от in
@boriscontube
@boriscontube 2 жыл бұрын
Можно ли R-value (литерал) передать в IN-аргумент?
@НикитаЛазовский-э3в
@НикитаЛазовский-э3в 3 жыл бұрын
Преподы в ВУЗах: "ООО а че так можно было что ли ааа..((("
@HoaqoSs
@HoaqoSs 3 жыл бұрын
почему в названии между IN и REF не стоит запятая?
@pulsar1934
@pulsar1934 3 жыл бұрын
компилятор их всё равно не увидит
@Hayabusa17
@Hayabusa17 Жыл бұрын
это касается только значимых типов?
@АтаманенкоНазарИН-03
@АтаманенкоНазарИН-03 2 жыл бұрын
Кто не совсем понимает зачем нужен IN, попробую привести пример. Что бы подобрать в игре какую то плюшку, например чекпоинт, нужно постоянно проверять координаты игрока и расстояние между ним и чекпоинтом. Это все происходит постоянно и быстро. Вот и оптимиция. Ибо таких чекпоинтов может быть очень много.
@-unity-
@-unity- Жыл бұрын
"нужно постоянно проверять координаты игрока и расстояние между ним и чекпоинтом" - не нужно, если используется какой-нибудь нормальный игровой фреймворк типа Unity. В нём ты один раз устанавливаешь на игрока и чекпоинты коллайдеры (это такие компоненты, которые обозначают границы объекта). И после того, как один объект попадает в границы другого, срабатывает функция, тобою же и назначенная для этого. Код получается очень чистым, без всяких проверок на координаты и расстояния.
@TEHNOTRAHER
@TEHNOTRAHER 4 жыл бұрын
А какой размер у ссылки? По идее это должно быть число типа uint или ulong(32 или 64 бита) То есть ссылка может весить 4 или 8 байт. Я правильно понимаю?
@dzmitry.herasimenka
@dzmitry.herasimenka 4 жыл бұрын
в. net ссылка на обьект весит почти всегда 4 байта(x32), 8 байт(x64) глубже знать пока и не нужно
@КириллКиселев-е6э
@КириллКиселев-е6э 3 жыл бұрын
Модификатор in для аргумента в методе. Нужен для оптимизации. С ним мы не сможем менять значение поля, только get.
@ЕвгенийЕмельянов-п2ы
@ЕвгенийЕмельянов-п2ы 11 ай бұрын
шел 3 день моего ВРЫВА в С# с ноги. Пока все отлично.
@Vlaska_1
@Vlaska_1 4 ай бұрын
думаю ты сейчас больше не учишься программированию, а отдыхаешь от него... потому что от такой скорости(60+ видео за 3 дня) ты просто сгоришь
@HammerKing-v7i
@HammerKing-v7i Ай бұрын
@@Vlaska_1 Я сюда дошел за 1,5 месяца, а он за 3 дня ХАХАХАХАХХА))) Получается за 1 неделю весь курс прошел
@AleksandrKozlov-xc3km
@AleksandrKozlov-xc3km 5 ай бұрын
почему не даёт инфу не понимаю, в Core запускаю цифры похожие но инфа с четырёх процессов вместо двух, по дву ноль, но названия инфы не соответствует метода фу и бар (((
@liko8019
@liko8019 4 жыл бұрын
3:35 запутал...
@artefakt4349
@artefakt4349 4 жыл бұрын
Ещё не видел всего урока. Но попробую угадать... Если аут это выход и в методе мы должны из-за этого слова присвоить значение, то ин (вход), видимо подразумевает, что в метод должно придти значение. Дополню после объяснения Сергея. Что-ж... Был не прав. Кто-бы мог подумать, что это не просто блокировка изменения данных, а ещё и такой (по моему мнению после бэнчмарка) мощный ускоритель! Ха! Первый бэнч = 9700 и 8420. Теперь я могу прикинуть, что мой компьютер слабее компьтера Сергея примрно в 2 раза. 52900 и 9530 жжжуть!
@Maks-hb6wg
@Maks-hb6wg 4 жыл бұрын
Что мне делать ? Я скачал бесплатную версию visual studio. И через месяц мне пришло сообщение что пробная версия для ознакомительных целей скоро закончиться и я потеряю доступ к данному продукту. Неужели дальше платить придется ?
@vitaliy1773
@vitaliy1773 4 жыл бұрын
Можешь просто в ютубе загуглить ключ на вижуал студио.Мне помогло
@dzmitry.herasimenka
@dzmitry.herasimenka 4 жыл бұрын
visual studio community версия бесплатная, и не нужно ключей.
@oleksandralekseiev8370
@oleksandralekseiev8370 4 жыл бұрын
все абсолютно бесплатно, просто надо будет подключить к вижле свой аккаунт. Тебе обо всем расскажут, там только почта нужна вроде как
@Roni_Gerto
@Roni_Gerto 3 жыл бұрын
Прост зарегайся
@gamemoments8183
@gamemoments8183 4 жыл бұрын
у меня показатели : Foo 8529 Bar 0
@alfany6252
@alfany6252 4 жыл бұрын
А in в аргументе оператора foreach - это другое?
@dzmitry.herasimenka
@dzmitry.herasimenka 4 жыл бұрын
другое) foreach это якобы синтаксический сахар, он разворачивается в цикл while потом
@ЯрославГоловко-ф6и
@ЯрославГоловко-ф6и 4 жыл бұрын
Комментарии, комментарии, комментарии
@5yga457
@5yga457 3 жыл бұрын
У меня бук полетел в далекие края от этого бенча
@teymurgurbanov7073
@teymurgurbanov7073 4 жыл бұрын
Здравствуйте, я хотел у вас спросить я шяс учу с++ после всех уроков по нему с помошью ваших очень крутых уроков какой у меня будет уровень с++ ? И кстати огромное вам спасибо ваши уроки очень интересные и понятны))
@dzmitry.herasimenka
@dzmitry.herasimenka 4 жыл бұрын
будет уровень начинающий))
@dzmitry.herasimenka
@dzmitry.herasimenka 4 жыл бұрын
но теория будет неплохая, если помнишь все
@teymurgurbanov7073
@teymurgurbanov7073 4 жыл бұрын
@@dzmitry.herasimenka Спасибо)
@александрновоселов-ф4л
@александрновоселов-ф4л 4 жыл бұрын
Спасибо за уроки!) Кстати, кто знает почему у меня в Visual Studio Пропали цвета, раньше метод WriteLine был желтым, как на видео, а сейчас он белого цвета, так же for был розовый, а сейчас синий, подскажите пожалуйста как исправить, немного сложно привыкать к этому))
@vitaliy1773
@vitaliy1773 4 жыл бұрын
Так не должно быть это проблема.
@ustaagvan
@ustaagvan 3 жыл бұрын
Может быть ты как то сменил тему оформления, может и такой вариант
@GPT3.5
@GPT3.5 2 жыл бұрын
а в чем проблема была с# - пу реализовать ключевое слово "in" по умолчанию ?? если нет ключевого слова, то в параметры метода не копируются объекты, а только создаются ссылки ! Если в теле метода изменил состояние принимаемого объекта, то только в этом случае создать новый объект...
@Чьрьнъвранъ
@Чьрьнъвранъ 3 жыл бұрын
Модификатор in это как стриптизёрша, смотреть можно а трогать нельзя.
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
СИНИЙ ИНЕЙ УЖЕ ВЫШЕЛ!❄️
01:01
DO$HIK
Рет қаралды 3,3 МЛН
you will never ask about pointers again after watching this video
8:03
C#. Covariance and Contravariance in generic interfaces.
6:35
ExtremeCode
Рет қаралды 82 М.
C# Delegates Делегаты
18:14
codaza
Рет қаралды 92 М.