Что такое Boxing и Unboxing? Рассказываю на примерах

  Рет қаралды 4,848

Лавка Разработчика

Лавка Разработчика

Күн бұрын

Пікірлер: 17
@whatsup325
@whatsup325 3 жыл бұрын
Благодарю за отличный контент!
@r.a.moiseenko
@r.a.moiseenko 3 жыл бұрын
Очень интересные видео уроки по Unity, только начал изучать, но прямо помогает (по книжкам не все разберешь). Когда изучал PHP случайно наткнулся на касты Д.Елисеева, там курсы на 100+ часов идут, после его курсов, на все остальные смотрел как на г..но )) Он берет одну конечную задачу (например интернет-магазин или онлайн-аукцион) и с нуля ее решает, после курса, проект можно с мелкими доработками в продакшн запускать. У него в ход идет все - SOLID, DDD и т.п. Переписывает многие вещи на фреймворках, крутой чувак, короче. Было бы круто, чтобы в Unity такой же чувак появился ;)
@def6141
@def6141 3 жыл бұрын
Спасибо, лайк!
@vladisslavss
@vladisslavss 2 жыл бұрын
Хорошее видео!)
@mazhavilcomputer
@mazhavilcomputer 3 ай бұрын
Если после примера всё ещё непонятен Boxing/Unboxing - рекомендую урок на ulearn, где рисуют карты памяти. kzbin.info/www/bejne/fJq1fKSahrtgnrM И впринципе предыдущие уроки, где рассматривают карты памяти для разницы ссылочных типов и типов значений, тоже очень полезны и понятны.
@ravenempty3562
@ravenempty3562 2 ай бұрын
спасибо
@АнтонСамсонов-я4ы
@АнтонСамсонов-я4ы 3 жыл бұрын
для этого я и делаю дженерик чтобы не было лишней упаковки/распаковки.
@yummybunny7351
@yummybunny7351 3 жыл бұрын
Корректно ли сказать, что Boxing и Unboxing - это cast, при котором у переменной тип меняется со значимого на ссылочный (или наоборот) ?
@gamedevlavka
@gamedevlavka 3 жыл бұрын
Некорректно, потому что меняется не тип, а фактически появляется новая переменная с новым типом
@denisponomarou1443
@denisponomarou1443 2 жыл бұрын
Переделай пожалуйста старый Observable в новый
@krivodeling7925
@krivodeling7925 3 жыл бұрын
Я правильно понял, что боксинг/анбоксинг актуальны, только когда нужно поменять значимый тип на ссылочный (создав для этого новый объект)? А если в контексте будут только ссылочные типы, то боксинг/анбоксинг не будет применяться? Спасибо!
@gamedevlavka
@gamedevlavka 3 жыл бұрын
Не совсем так. Боксинг/анбоксинг, это не фича, а издержки. Нет никакой нужды размножать данные конвертируя форматы. Но бывает нужно использовать данные в максимально общем виде - как object или интерфейс. Удобно, но нужно понимать, что если данные будут значимыми, то будет иметь место боксинг/анбоксинг (что не есть хорошо), и учитывать это
@flashbackmovie8792
@flashbackmovie8792 3 жыл бұрын
Сделай обзор интерфейсов
@gamedevlavka
@gamedevlavka 3 жыл бұрын
Каких интерфейсов?
@just-mannn
@just-mannn Жыл бұрын
​@@gamedevlavka хороших
@antongamayunov7274
@antongamayunov7274 3 жыл бұрын
Очень конечно познавательно. Я понял, что боксинг это плохо. А зачем вообще тогда нужен боксинг ? Чтобы мы получили ссылку, а не значение? Ну так после Unboxing у нас все равно будет значение, а не ссылка. Замечу, что во многих ваших видео у меня повисает вопрос "а зачем?" Не возникает такого вопроса только если я уже знаком в какой-то степени с рассказываемой темой . А так контент классный, смотрю почти все ваши видео, не забрасывайте это дело
@gamedevlavka
@gamedevlavka 3 жыл бұрын
В программировании редко бывают идеальные решения: максимально гибкие и при этом быстрые. Поэтому программисты всегда балансируют между этими двумя аспектами. Чтобы уметь балансировать, нужно понимать плюсы и минусы разных подходов. Например: ObservableVariable с боксингом плохой вариант, т.к. высокая вероятность, что будет много переменных с типом значения, которые могут меняться очень часто. Соответственно будет быстро разрастаться стек и куча, это плохо. Однако существуют моменты, когда гибкость важнее скорости, например события не частые, но очень разнообразные, тогда подойдёт боксинг и анбоксинг
Разбираемся в составных LayoutGroups на примере (+ ContentSizeFitter)
26:30
Lamborghini vs Smoke 😱
00:38
Topper Guild
Рет қаралды 33 МЛН
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 59 МЛН
2 Years of C++ Programming
8:20
Zyger
Рет қаралды 5 М.
Как работает Garbage Collector или сборщик мусора?
10:56
Лавка Разработчика
Рет қаралды 5 М.
Что такое делегаты в С#? Как их можно использовать в Unity?
23:11
Lamborghini vs Smoke 😱
00:38
Topper Guild
Рет қаралды 33 МЛН