C# List

  Рет қаралды 45,804

codaza

codaza

Күн бұрын

Пікірлер: 155
@codaza-channel
@codaza-channel 3 жыл бұрын
Удобная навигация по видео :) 0:00 - Начало 0:24 - Что такое List? 1:09 - Что означает T в List? 1:49 - Топ возможностей List 2:27 - Отличие List от Array 3:54 - Пример добавления элементов в List 5:39 - Пример вставки элементов в List 6:31 - Работа List под капотом 7:51 - Пример удаления элементов из List по названию 8:38 - Пример удаления элементов из List по индексу 9:10 - Пример сортировки элементов в List 9:22 - Пример получения элемента по индексу 9:59 - Короткая запись инициализации List 10:29 - Добавление элементов в List из массива 10:46 - Завершение
@karlsonalex5026
@karlsonalex5026 8 ай бұрын
Лучшее объяснение! Спасибо! Без воды, всё чётко.
@titanovsky
@titanovsky 7 ай бұрын
Да, это так.
@Блендер-мясорубка
@Блендер-мясорубка 2 жыл бұрын
Круто сделал, Многих тем нет на аналогичных каналах посвященных До диезу!
@silseleum
@silseleum 2 жыл бұрын
С до диезом улыбнуло)
@АлександрШейка-ц5ь
@АлександрШейка-ц5ь Жыл бұрын
@@silseleum Музыканты по другому не могут.
@bormissokol3387
@bormissokol3387 2 жыл бұрын
Отличная подача материала! (лайк-подписка -колокол). 1. Да, хочется увидеть про обобщения 2. Да , хочется увидеть про сортировки И ещё любопытно каким средствами делается такое видео.
@codaza-channel
@codaza-channel 2 жыл бұрын
Рад, что ролик понравился 🙂 По 2-ому пункту, уже успели поговорить на канале про Quick Sort: kzbin.info/www/bejne/ep6piZetrsSgfpI По созданию видео: Power Point + Adobe Premier Pro
@QOD_sStar
@QOD_sStar 2 жыл бұрын
спасибо большое за это видео! учусь на IT специалиста, но к сожалению препод не заинтересован в том, чтобы дать нам знания.. а вы объясняете очень четко и лаконично, а самое главное, понятно! даже мотивация изучать дальше си шарп появилась. еще раз спасибо за это видео, смело ставлю лайк и подписку)
@heyumid
@heyumid 2 жыл бұрын
Обычно когда мне нравится видео я очень редко пишу об этом в комментарии, не люблю пополнять список бесполезными благодарностями, так как "Комментарии" нужны для того чтобы комментировать чего-либо, думаю отметки "Нравится" хватает. Серия коротких видео "Тут все станет понятно" отлично продуманна. Не останавливайтесь!
@ruslanrahimov5483
@ruslanrahimov5483 2 жыл бұрын
Очень приятная подача. Все супер от визуала до интонации в голосе. Спасибо!
@codaza-channel
@codaza-channel 2 жыл бұрын
Благодарю! Очень рад, что ролик оказался полезным.
@laylaxxer
@laylaxxer Ай бұрын
БОЖЕ, ТЫ ПРОСТО ЛУЧШИЙ! ПРОДОЛЖАЙ СНИМАТЬ ВИДЕО❤❤❤
@ВиталийВитал-ю2у
@ВиталийВитал-ю2у 2 жыл бұрын
Добрый день! Излагается профессионально. Логичное продолжение тем: лямбда, многопоточность и прочие подобные. Спасибо большое!!!
@ruslanibrahimov6913
@ruslanibrahimov6913 2 жыл бұрын
Очень прекрасно так легко объяснил я один раз посмотрел понял что я хотел спасибо большое
@syrymjoli
@syrymjoli 2 жыл бұрын
кайф с телефона смотреть все видно понятно, СПАСИБО!
@ЮрийАлексеенко-ж6г
@ЮрийАлексеенко-ж6г 3 жыл бұрын
Спасибо! Отличное объяснение! Жду новых видео!
@codaza-channel
@codaza-channel 3 жыл бұрын
Благодарю за комментарий. Впереди много интересного материала 🙂
@lord_of_the_forests
@lord_of_the_forests 2 ай бұрын
Очень жаль что нет новых видео. Лучший контент по теме
@ФаридЮсубов-с8ф
@ФаридЮсубов-с8ф 2 жыл бұрын
Вау, давно уже знаю про все это, но подчеркнул некоторые фишки для себя, да и в целом, приятно было смотреть)
@elina_chrk
@elina_chrk 2 жыл бұрын
Спасибо за видео, очень приятный голос)) информация преподносится супер понятно, без лишнего. Буду ждать новые видео
@codaza-channel
@codaza-channel 2 жыл бұрын
Благодарю 💙 Рад, что видео оказалось полезным!
@cookie5184
@cookie5184 2 жыл бұрын
Спасибо огромное за шикарную подачу материала. Так держать
@AzizjanAyupov_leo
@AzizjanAyupov_leo 2 жыл бұрын
Шикарно) Особенно нравится, что описываются тонкости, типа алгоритмов и пр) Что лезим под капот)
@vasyapypkin9221
@vasyapypkin9221 2 жыл бұрын
Красавчик! Спасибо! не мог никак найти в интернете что же за тип данных List под капотом, твоё видео спасло
@daukaevk
@daukaevk Жыл бұрын
Лучшее обьяснение, еще и со стороны производительности!
@romanfersion6006
@romanfersion6006 3 жыл бұрын
Cделай видео про обобщения пожалуйста
@playmarket8605
@playmarket8605 2 жыл бұрын
На примере List можно сделать урок про сложность алгоритмов О(1) О(n) и т.п. Можно также в конце сравнить его с LinkedList
@hysapod
@hysapod 2 жыл бұрын
Согласен. Очень интересная тема.
@unknyver
@unknyver 2 жыл бұрын
Большая благодарность автору🙂
@Neroz49rujka
@Neroz49rujka 2 жыл бұрын
Otlichno! Spasibo bolshoe!
@SnakeReview
@SnakeReview 2 жыл бұрын
Редко пишу комментарии. Но моё почтение. Это невероятно полезный и крутой формат!
@Yuskus
@Yuskus 2 жыл бұрын
Максимально понятно и ёмко 👌. Лайк)
@АнастасияСтепанова-м2н
@АнастасияСтепанова-м2н 2 жыл бұрын
Обоже, спасибо огромное, очень хорошая подача материала :>
@codaza-channel
@codaza-channel 2 жыл бұрын
💙
@dimavavilov7737
@dimavavilov7737 2 жыл бұрын
Полезное видео! Спасибо большое
@Kamil2012iam
@Kamil2012iam 8 ай бұрын
Спасибо за List!
@АлександрИванов-о2ь4ю
@АлександрИванов-о2ь4ю 3 жыл бұрын
Про нотацию биг О было интересно! Жду новых видео!
@codaza-channel
@codaza-channel 3 жыл бұрын
Рад, что информация была полезной. Благодарю за комментарий, впереди много интересных видео 🙂
@youchinafriend
@youchinafriend 2 жыл бұрын
Да, информация была очень полезной!
@bekmyrzaevzharmat2771
@bekmyrzaevzharmat2771 2 жыл бұрын
Спасибо большое) мне нравится подача материала
@titanovsky
@titanovsky 7 ай бұрын
Большое спасибо, ничего нового для себя не узнал, но объяснение очень чёткое, буду рекомендовать другим
@Илья-д7о8й
@Илья-д7о8й 2 жыл бұрын
Видео классное, сними также про связные списки
@levleynov3663
@levleynov3663 2 жыл бұрын
Спасибо огромное!
@partymakerplay148
@partymakerplay148 3 жыл бұрын
годнота) очень бы хотелось схожий формат про методы и свойства))
@codaza-channel
@codaza-channel 3 жыл бұрын
Рад, что материал оказался полезным :) Спасибо за комментарий. А что именно интересует в методах и свойствах?
@partymakerplay148
@partymakerplay148 3 жыл бұрын
@@codaza-channel в целом как работают :) параметры, модификаторы ref, out. Как всё происходит в памяти. Свойства - для чего нужны, кароч что бы тут стало понятно :D
@chinchilla898
@chinchilla898 3 жыл бұрын
Спасибо!
@TanRubaka
@TanRubaka 2 жыл бұрын
ещё тут можно было добавить о свойстве Capacity. и что происходит с List когда мы добавляем элемент, который выходит за размеры. если этого конечно уже нет в других видео.
@codaza-channel
@codaza-channel 2 жыл бұрын
Большое спасибо! Это действительно было бы хорошим дополнением. Свойство Capacity очень полезно при оптимизациях, когда размер коллекции нам заранее известен. В некоторых сценариях, мы можем существенно снизить выделение памяти и повысить общую производительность приложения.
@ОлексійБубенко-ж5х
@ОлексійБубенко-ж5х 3 жыл бұрын
Круто, продолжай
@codaza-channel
@codaza-channel 3 жыл бұрын
Благодарю за комментарий. Дальше - больше 🙂
@makar3343
@makar3343 2 жыл бұрын
Урок Супер, спасибо!
@Cleannetcode
@Cleannetcode 2 жыл бұрын
Клёво получилось, продолжай в том же духе :)
@benjamin4862
@benjamin4862 Жыл бұрын
Круто, классно
@dokers2084
@dokers2084 2 жыл бұрын
Отличная современная подача на западном уровне, очень приятно смотреть!
@alexeyeliseev4076
@alexeyeliseev4076 2 жыл бұрын
Автор - красава, все четко рассказал!
@hulk3147426
@hulk3147426 Жыл бұрын
а так подача очень схематичная и понятная нигде такого не видел чтоб так доступно объясняли и наглядно что самое важное
@ovasendin
@ovasendin 2 жыл бұрын
Классное объяснение, спасибо! С меня подписка)
@ДанилСвечков
@ДанилСвечков 2 жыл бұрын
Спасибо, полезно
@oshastitko
@oshastitko 6 ай бұрын
Добавление элемента в List - это не сложность O(1), это сложность O(1), когда размер массива под капотом листа достаточен для добавления элемента(ов) и O(n), когда не достаточно и размерность этого подкапотного массива удваивается (а она удваивается в таких случаях, если конечно удваивания хватает)
@xex2260
@xex2260 3 жыл бұрын
отличное видео, все предельно ясно. Не то что у других
@antonpylypenko8233
@antonpylypenko8233 Жыл бұрын
можна так сократить new(), комент в поддержку канала!
@fillmike
@fillmike 3 жыл бұрын
про сортировку было бы интересно
@codaza-channel
@codaza-channel 3 жыл бұрын
Благодарю за комментарий. Обязательно учту в будущих роликах 🙂
@up9380
@up9380 3 жыл бұрын
@@codaza-channel Тоже посмотрел бы про быструю сортировку.
@codaza-channel
@codaza-channel 3 жыл бұрын
@@up9380 Обязательно учту Ваши пожелания :)
@РоманДейкаловский
@РоманДейкаловский Жыл бұрын
Про дженерики - было бы просто отлично
@volumesurup2078
@volumesurup2078 Жыл бұрын
хороший гайд
@KingDog25
@KingDog25 2 жыл бұрын
подписался, отличный контент
@ruslanibrahimov6913
@ruslanibrahimov6913 2 жыл бұрын
если можно пожалуйста видео про Directory ваша подача вообще что-то с чем то я сразу запомнил
@ИгорьСлепков-х3с
@ИгорьСлепков-х3с Жыл бұрын
Спасибо. И ещё 4 слова
@tvtv7026
@tvtv7026 2 жыл бұрын
Красава спасибо
@4atRuletka
@4atRuletka 2 жыл бұрын
Ребята, подписываемся, что бы он еще больше видео выкладывал !)
@SanyaSanyavich
@SanyaSanyavich 2 жыл бұрын
круто
@PoWeRMeH21
@PoWeRMeH21 2 жыл бұрын
Я конечно дико извиняюсь, видео хорошее, но не ошибка ли оценивать операцию add как O(1)? ведь такая оценка будет только в том случае если мы заранее указали размерность массива, при добавлении нового объекта, который выходит за размер, то массив будет скопирован и удвоен, тогда операция будет занимать уже O(n), или я не прав?
@codaza-channel
@codaza-channel 2 жыл бұрын
Да, Вы абсолютно правы. Это очень точное дополнение, которое не было упомянуто в ролике. В разделе Remarks, в официальной документации MSDN, это упоминается. Я оставлю цитату и ссылку, на случай если другие гости канала захотят ознакомиться подробнее. If Count is less than Capacity, this method is an O(1) operation. If the capacity needs to be increased to accommodate the new element, this method becomes an O(n) operation, where n is Count. docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.add?view=net-6.0
@МаксимМашнин
@МаксимМашнин 2 жыл бұрын
очень бы хотелось видео про односвязный и двусвязный список
@mikhailkhatuntcov1483
@mikhailkhatuntcov1483 2 жыл бұрын
Спасибо за видосы. Подписался на вас. Хотя люблю по подкалывать. Так что не обижайтесь 1:17 List or List 😁 3:00 скорее тут стоит указать тот момент что операции с массивами ограничен тем как компьютеры работают - нельзя вот так взять и выделить память. Массив просто как валенок просто область памяти. А вот лист это ссылки на элементы в памяти. В теории массив это один блок памяти когда лист это ссылки на элементы в памяти которые могут быть разрознены. Кончно на практике все зависит от рантайма Ж)
@codaza-channel
@codaza-channel 2 жыл бұрын
Не забывайте, что object это тоже тип 😉 Про dynamic, увы да.. В любом правиле есть исключения 🙂
@darkmeg2015
@darkmeg2015 2 жыл бұрын
во втором ты не прав, в шарпе List - это именно массив под капотом, который работает как указал автор, а вот LinkedList - это уже двусвязный список, где элементы разбросаны в памяти и соединены адресами. я когда из плюсов пришел, тоже сначала думал, что List это двухсвязный список)
@crazydead256
@crazydead256 Жыл бұрын
Пиндец как интересно про generic=))
@MrROLiKHD
@MrROLiKHD 2 жыл бұрын
Топчик
@mb19127
@mb19127 Жыл бұрын
4:30 если в левой части указан List то в правой части можно просто записать как = new(); Это типа как var, оно само определит тип
@baksuser
@baksuser 2 жыл бұрын
Снимите, пожалуйста, подобное видео с ObservableCollection
@gamerwithoutchannel9721
@gamerwithoutchannel9721 Жыл бұрын
Можно использование Generic считать проявлением полиморфизма?
@-unity-
@-unity- 3 жыл бұрын
Отличное видео! Что будет дальше по списку коллекций? Dictionary? LinkedList?
@codaza-channel
@codaza-channel 3 жыл бұрын
Я думаю, посмотрим на что будет наибольший запрос от зрителей канала. О какой коллекции хотели бы поговорить Вы? :)
@-unity-
@-unity- 3 жыл бұрын
@@codaza-channel Словарь чаще используется, чем связный список. Я бы с него и начал.
@alexsoft999
@alexsoft999 5 ай бұрын
А чего не сказал ничего про сложность Sort ?
@romatomas8258
@romatomas8258 2 жыл бұрын
Кодаза, давай обсудим GENERICS в будущих роликах? Жде не дождусь когда смогу поставить такому видео лайк.
@syrymjoli
@syrymjoli 2 жыл бұрын
Да часто слышу Дженерики, я не знаю что это как его есть и с чем))
@TheVelf
@TheVelf 2 жыл бұрын
Джененирики и лямбды) Скандировала толпа)
@romanurmancheev3552
@romanurmancheev3552 2 жыл бұрын
Сделайте пожалуйста выпуск про generics.
@kekand0s141
@kekand0s141 Жыл бұрын
ты сказал про статические массивы, но можно использовать и динамические)) и явно не указывать размерность массива
@vael6555
@vael6555 Ай бұрын
4:30 Кто же знал что в примере используется список заблокированных соц.сетей...
@naturalAmoeba
@naturalAmoeba Жыл бұрын
Привет! Было бы неплохо увидеть видос по Generic, ну это так, мало ли с:
@Desh_
@Desh_ 8 ай бұрын
золото
@shurale85
@shurale85 2 жыл бұрын
Попробую задать немного сторонний вопрос, но каким-то боком относящийся к коллекциям. В foreach можно передать любой класс, содержащий в себе метод public Enumetator GetEnumerator(){...}. Объясните, пожалуйста, у какого типа/объекта foreach вызывает/получает этот объект Enumerator? Ведь Enumеrator это не интерфейс, не базовый тип. Это просто класс, содержащий Current и MoveNext. К чему там внутри обращается foreach или это что-то динамическое, просто на уровне соглашений. Если так, как мы сами можем подобное реализовать?
@codaza-channel
@codaza-channel 2 жыл бұрын
Вы описываете классический вариант Enumerator в C#. На канале мы еще не рассматривали создание собственного Enumerator. Вот парочка ссылок, где Вы сможете подробнее ознакомиться с темой: www.c-sharpcorner.com/article/enumerators-in-C-Sharp/ stackoverflow.com/questions/6908373/c-sharp-how-to-implement-ienumerator-on-a-class
@altskiy2968
@altskiy2968 Жыл бұрын
Сейчас на собесах очень модно стало спрашивать за capacity в List
@shurale85
@shurale85 2 жыл бұрын
возможно стоит разобрать типы коллекции и интерфейсы ICollection, IEnumerable более подробно: 1) зачем лучше возвращать интерфейс 2) когда какую коллекцию использовать 3) затронуть yield. Помню был случай, я перебирал IEnumerable и постоянно натыкался на повторяющиеся элементы. Только после того как привел к определенному типу, ошибка ушла, а вот полностью разобраться времени не хватило. Совершенно не против, если подскажите, куда копать))
@codaza-channel
@codaza-channel 2 жыл бұрын
Благодарю за предложенные варианты тем для обсуждения канале. Думаю, в будущем, затронем их в той или иной степени. Касательно ошибки, которая у Вас была, я, к сожалению, вряд ли смогу что-то подсказать, так как нужно понимание контекста, в котором она возникала. Возможно, у Вас были дубликаты записей или некорректные null-значения и т. д.
@allyanz
@allyanz 2 жыл бұрын
Привет, при добавлении массива в лист, мы туда просто копируем данные из массива, или создаем ссылку на ссылку на данные в хипе?
@codaza-channel
@codaza-channel 2 жыл бұрын
Привет. Массив является ссылочным типом, поэтому будет выполнено копирование ссылки в управляемой куче.
@allyanz
@allyanz 2 жыл бұрын
​@@codaza-channel понял, спасибо. Буду рад появлению новых материалов по листам. В интернете что в ру, что в инг сегментах про них гуглится действительно мало информации.
@Drak0sha13
@Drak0sha13 2 жыл бұрын
Где можно, лучше заменять на IEnumerable
@codaza-channel
@codaza-channel 2 жыл бұрын
Там, где ваша единственная задача работы с коллекцией - это итерирование по её элементам. То есть вы занимаетесь только чтением данных из коллекции.
@жораПерлов
@жораПерлов Жыл бұрын
А можно сделать лист с типом dynamic и модно пихать все что угодно
@stasonr3856
@stasonr3856 2 жыл бұрын
Спс. Очень даже понятно. Только не понятно как вытаскивать и выводить на консоль экземпляры класса((( А так очень даже заметно. Спс.
@aleksey8405
@aleksey8405 2 жыл бұрын
Без музыки было бы лучше. Но всё равно спасибо за видео.
@Ivan_sev
@Ivan_sev 2 жыл бұрын
3:14 не-а, можно сделать так: Array.ReSize(ref years, years.Length+1); (ReSize = это не точное название, простите, но я далеко от компа)
@codaza-channel
@codaza-channel 2 жыл бұрын
Иван, Array.Resize работает по тому же принципу. Сначала аллоцируется память под новый массив, после чего выполняется копирование элементов. Подробнее вы можете ознакомиться в официальной документации: docs.microsoft.com/en-us/dotnet/api/system.array.resize#:~:text=This%20method%20allocates%20a%20new,array%20with%20the%20specified%20size.
@Ivan_sev
@Ivan_sev 2 жыл бұрын
@@codaza-channel я имел ввиду что такая функция в массива есть, я не имел ввиду что это быстрее или лучше
@vanya5454_BlackMan
@vanya5454_BlackMan Жыл бұрын
Короче можнл сделать var socialNetworrs = new List();
@СаняВасиев
@СаняВасиев 2 жыл бұрын
Кстати под капотом Array.Sort находится не "быстрая сортировка", а некий гибридный механизм, который сортирует примерно в два раза быстрее, чем "быстрая сортировка" (хотя на сайте MSDN и указана быстрая, но тесты показывают обратное). А вот под капотом Generic'ов находится уже именно быстрая сортировка (но это не точно). Так вот вопрос: если под капотом Листа находится Массив, то какая все-таки сортировка у Листа?)
@codaza-channel
@codaza-channel 2 жыл бұрын
Исходные тексты dotnet открыты, вы всегда можете посмотреть все интересующие детали реализации.
@bezdnatv5035
@bezdnatv5035 2 жыл бұрын
Хорошее видео! Единственное , при удаление элемента индекс считается с 0. И да, я проверил это, и да мне было очень скучно :) List st = new() { "0","1","2","3"}; foreach(var v in st) Console.WriteLine(v); Console.WriteLine(new string('-',15)); Console.WriteLine($"Remove object 3 => {st[3]}"); st.RemoveAt(3); Console.WriteLine(new string('-', 15)); foreach (var v in st) Console.WriteLine(v);
@emanon6064
@emanon6064 Жыл бұрын
СПАСИБО
@GGamess
@GGamess 2 жыл бұрын
9:59 - Короткая запись инициализации List ? нет такой короткой записи, скопируй свой код и запусти.
@codaza-channel
@codaza-channel 2 жыл бұрын
Вы правы. Пропущено ключевое слово "new". Корректно будет так: List socialNetworks = new() { "KZbin", "Facebook", "Instagram" }; Спасибо за внимательность!
@GGamess
@GGamess 2 жыл бұрын
так тоже не будет работать.
@codaza-channel
@codaza-channel 2 жыл бұрын
Я проверил эту запись минуту назад, работает :) Я использую .NET 5 и C# 9. Возможно, вы используете более ранние версии.
@GGamess
@GGamess 2 жыл бұрын
@@codaza-channel C# 8
@codaza-channel
@codaza-channel 2 жыл бұрын
Самое время обновиться 😉
@andrey.shpilevoy
@andrey.shpilevoy Жыл бұрын
Час билcя с ошибкой, нашел видео, и понял что забыл про new... проблема с переходом(((
@Бойправ-ж8ы
@Бойправ-ж8ы 3 ай бұрын
Видео не всё о Листе. Как загрузить данный из файла в Лист не рассказано.
@ukrmapper
@ukrmapper 2 ай бұрын
бро
@browdy4454
@browdy4454 2 жыл бұрын
Мне вот интересно почему существуют методы как Insert? Ведь можно просто во время написания кода, самому дописать эту недостающую строку, объясните пожалуйста.
@codaza-channel
@codaza-channel 2 жыл бұрын
Тот случай, который Вы упомянули, относится к "статике". То есть мы заранее знаем определенный набор строк во время написания кода, заносим их в список и далее пользуемся этим списком так как нам нужно. Метод Insert понадобится нам, когда в приложении появляется "динамика". Представьте, простое приложение ToDo-List. Вы открыли интерфейс программы и накидали себе 3 дела на сегодня: 11:00 - еду в магазин 12:00 - захожу в поликлинику 13:00 - иду к другу Закрыли приложение и начали свой день. Потом Вы вспомнили, что в 12:30 Вам нужно забежать в зоомагазин. Вы открываете ToDo-List и добавляете: 12:30 - зайти в зоомагазин Вот чтобы эта запись встала между 12:00 и 13:00, Вам и понадобится метод Insert. Или, когда вы перетаскиваете иконки на своём телефоне, одна сдвигается влево, другая вправо, а та, которую вы держите, встаёт между ними. Вы встречаетесь с Insert каждый день, чаще чем можете представить 🙂
@browdy4454
@browdy4454 2 жыл бұрын
Спасибо, всё понял)
@DarkW1zard
@DarkW1zard 2 жыл бұрын
Ютуб удаляет коммент "0:08 вызов принят" три раза по разному пытался оставить коммент О_О Попытка 4.
Жыл бұрын
Может знает кто: Я делаю систему ХП для рогалика в виде ячеек и выбрал лист, так как это единственный метод который нашёл и он подходит, там и для пустого ХП есть решение и для полного. Так вот, он тоже на List'e работает, его размер приходит из PlayerMaxHP в цикл и создаёт на канвасе префаб с полным сердцем и привязаным к нему пустым сердцем. Так вот, я хочу что бы при коллизии в этом листе убывалось количество полных сердец, вроде написал метод, ХП отнимается, но на канвасе не отображается, по ходу я в корне проблемы совершил несколько фундаментальных ошибок 😄 Так вот, как можно динамически изменять количество объектов в листе в моём случае? Под комментом скину видео где нашёл пример
Жыл бұрын
Вот, собственно. kzbin.info/www/bejne/onO1qKaiZ5qdi9U
@saasrus
@saasrus 2 жыл бұрын
Лично для меня было неприятным сюрпризом отсутствие расширения "удалить последний элемент", ведь .RemoveLast гораздо проще написать чем .RemoveAt(List.Count - 1). В результате код обрастает вот этими громоздкими конструкциями, которые можно было максимально эффективно зашить в компилятор. Я понимаю, что можно извратиться и сделать это вручную, но я ещё пока не настолько крут, и почему это должен делать я а не создатели языка?
@exregisterqq
@exregisterqq Жыл бұрын
конечно не актуально, но все же) можно запросто написать метод расширения с этим функционалом и использовать когда нужно, так же и с любой другой фичей
@exregisterqq
@exregisterqq Жыл бұрын
в каком нибудь статик классе Extenssions создаём метод : public static void RemoveLast(this List list) { list.RemoveAt(list.Count - 1); } и извне используем : listChegoto.RemoveLast();
@saasrus
@saasrus Жыл бұрын
@@exregisterqq может не актуально, но отвечу сам себе же: есть такая конструкция как ^1, её предлагает интеллектулаьный заменитель кода. Просто вставьте её в индекс и ... (смотреть продолжение в источнике)
@exregisterqq
@exregisterqq Жыл бұрын
@@saasrus точно, сам забыл про него) но если нужен более специфический метод, то расширения к вашим услугам
@hw2cb
@hw2cb 2 жыл бұрын
!
@hulk3147426
@hulk3147426 Жыл бұрын
на примере с короткой формой пропущено new перед скобками иначе выдает ошибку
@hulk3147426
@hulk3147426 Жыл бұрын
когда пишу краткую форму почему то выдает ошибку тп недопустимые знаки((
@Русь-Родина
@Русь-Родина Жыл бұрын
Не сортировка, а упорядочивание. К русскому языку привыкайте и не уродуйте его.
@maksanimals5617
@maksanimals5617 2 жыл бұрын
вот короче: var socialNetwork = new List ()
@codaza-channel
@codaza-channel 2 жыл бұрын
Да, это самый короткий вариант 🙂 Однако, я предпочитаю такой: List socialNetworks = new(); так как указание типа сразу же показывает намерение объявить коллекцию. Но это дело вкуса, многие разработчики склонны пользоваться var.
C# Delegates Делегаты
18:14
codaza
Рет қаралды 87 М.
iPhone or Chocolate??
00:16
Hungry FAM
Рет қаралды 31 МЛН
Вопросы собеседования на C# программиста
21:04
Програмысли Влог
Рет қаралды 66 М.
06.01.  Serialization
1:09:06
Mihail Romanov
Рет қаралды 98
C# QuickSort Быстрая сортировка
21:32
codaza
Рет қаралды 30 М.
Марк Шевченко - Микросервисы на C#
1:02:10
C# Events События
14:36
codaza
Рет қаралды 52 М.