C# List

Sdílet
Vložit
  • čas přidán 5. 07. 2024
  • Кроме массивов, в C# (C sharp) существует множество типов коллекций. Наиболее часто применяемой коллекцией является список List. Вы можете заниматься разработкой GameDev на Unity или программированием сложных микросервисов с Web API и базами данных на ASP.NET Core, но вы точно будете пользоваться List каждый день. Сегодня мы поговорим об этой коллекции, узнаем, как с ней работать, чем List похож и чем отличается от массивов (arrays), а также насколько эффективен List в тех или иных ситуациях.
    Telegram канал: t.me/codaza
    На кофе ☕️: pay.cloudtips.ru/p/179d0532
    Patreon: / codaza
    Boosty: boosty.to/codaza
    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 - Завершение
    #csharp #list #array #listvsarray #collections #listsandcollections #codaza

Komentáře • 152

  • @codaza-channel
    @codaza-channel  Před 2 lety +21

    Удобная навигация по видео :)
    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 - Завершение

  • @lord_of_the_forests
    @lord_of_the_forests Před 3 dny

    Очень жаль что нет новых видео. Лучший контент по теме

  • @karlsonalex5026
    @karlsonalex5026 Před 6 měsíci +5

    Лучшее объяснение! Спасибо! Без воды, всё чётко.

  • @user-qo1ty6kj2q
    @user-qo1ty6kj2q Před 2 lety +36

    Круто сделал, Многих тем нет на аналогичных каналах посвященных До диезу!

    • @silseleum
      @silseleum Před 2 lety +6

      С до диезом улыбнуло)

    • @user-qs8vf5dm3c
      @user-qs8vf5dm3c Před 11 měsíci

      @@silseleum Музыканты по другому не могут.

  • @QOD_sStar
    @QOD_sStar Před 2 lety +7

    спасибо большое за это видео! учусь на IT специалиста, но к сожалению препод не заинтересован в том, чтобы дать нам знания.. а вы объясняете очень четко и лаконично, а самое главное, понятно! даже мотивация изучать дальше си шарп появилась. еще раз спасибо за это видео, смело ставлю лайк и подписку)

  • @cookie5184
    @cookie5184 Před 2 lety +3

    Спасибо огромное за шикарную подачу материала. Так держать

  • @AzizjanAyupov_leo
    @AzizjanAyupov_leo Před rokem +2

    Шикарно) Особенно нравится, что описываются тонкости, типа алгоритмов и пр) Что лезим под капот)

  • @heyumid
    @heyumid Před 2 lety +26

    Обычно когда мне нравится видео я очень редко пишу об этом в комментарии, не люблю пополнять список бесполезными благодарностями, так как "Комментарии" нужны для того чтобы комментировать чего-либо, думаю отметки "Нравится" хватает. Серия коротких видео "Тут все станет понятно" отлично продуманна. Не останавливайтесь!

  • @user-dv5ue1om3m
    @user-dv5ue1om3m Před 2 lety +3

    Вау, давно уже знаю про все это, но подчеркнул некоторые фишки для себя, да и в целом, приятно было смотреть)

  • @unknyver
    @unknyver Před 2 lety +2

    Большая благодарность автору🙂

  • @user-bx4ui2me6m
    @user-bx4ui2me6m Před rokem +3

    Добрый день! Излагается профессионально. Логичное продолжение тем: лямбда, многопоточность и прочие подобные. Спасибо большое!!!

  • @elina_chrk
    @elina_chrk Před rokem +1

    Спасибо за видео, очень приятный голос)) информация преподносится супер понятно, без лишнего. Буду ждать новые видео

    • @codaza-channel
      @codaza-channel  Před rokem

      Благодарю 💙 Рад, что видео оказалось полезным!

  • @vasyapypkin9221
    @vasyapypkin9221 Před 2 lety +1

    Красавчик! Спасибо! не мог никак найти в интернете что же за тип данных List под капотом, твоё видео спасло

  • @bekmyrzaevzharmat2771
    @bekmyrzaevzharmat2771 Před 2 lety +1

    Спасибо большое) мне нравится подача материала

  • @syrymjoli
    @syrymjoli Před rokem +1

    кайф с телефона смотреть все видно понятно, СПАСИБО!

  • @makar3343
    @makar3343 Před 2 lety +1

    Урок Супер, спасибо!

  • @user-sf9ib9wj7j
    @user-sf9ib9wj7j Před 2 lety +2

    Спасибо!
    Отличное объяснение!
    Жду новых видео!

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Благодарю за комментарий. Впереди много интересного материала 🙂

  • @daukaevk
    @daukaevk Před rokem

    Лучшее обьяснение, еще и со стороны производительности!

  • @ruslanrahimov5483
    @ruslanrahimov5483 Před 2 lety +4

    Очень приятная подача. Все супер от визуала до интонации в голосе. Спасибо!

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Благодарю! Очень рад, что ролик оказался полезным.

  • @SnakeReview
    @SnakeReview Před 2 lety +1

    Редко пишу комментарии. Но моё почтение. Это невероятно полезный и крутой формат!

  • @ruslanibrahimov6913
    @ruslanibrahimov6913 Před rokem +2

    Очень прекрасно так легко объяснил я один раз посмотрел понял что я хотел спасибо большое

  • @dimavavilov7737
    @dimavavilov7737 Před rokem +1

    Полезное видео! Спасибо большое

  • @youchinafriend
    @youchinafriend Před 2 lety +1

    Да, информация была очень полезной!

  • @Yuskus
    @Yuskus Před rokem +1

    Максимально понятно и ёмко 👌. Лайк)

  • @hulk3147426
    @hulk3147426 Před rokem

    а так подача очень схематичная и понятная нигде такого не видел чтоб так доступно объясняли и наглядно что самое важное

  • @Neroz49rujka
    @Neroz49rujka Před 2 lety +1

    Otlichno!
    Spasibo bolshoe!

  • @Cleannetcode
    @Cleannetcode Před 2 lety +1

    Клёво получилось, продолжай в том же духе :)

  • @ovasendin
    @ovasendin Před 2 lety +1

    Классное объяснение, спасибо! С меня подписка)

  • @levleynov3663
    @levleynov3663 Před 2 lety +1

    Спасибо огромное!

  • @bormissokol3387
    @bormissokol3387 Před 2 lety +11

    Отличная подача материала! (лайк-подписка -колокол).
    1. Да, хочется увидеть про обобщения
    2. Да , хочется увидеть про сортировки
    И ещё любопытно каким средствами делается такое видео.

    • @codaza-channel
      @codaza-channel  Před 2 lety +1

      Рад, что ролик понравился 🙂
      По 2-ому пункту, уже успели поговорить на канале про Quick Sort: czcams.com/video/DmFXdwy_mH0/video.html
      По созданию видео: Power Point + Adobe Premier Pro

  • @user-he2ow4wr9c
    @user-he2ow4wr9c Před 2 lety +2

    Видео классное, сними также про связные списки

  • @user-cy2ul1lr6z
    @user-cy2ul1lr6z Před rokem +2

    Обоже, спасибо огромное, очень хорошая подача материала :>

  • @titanovsky
    @titanovsky Před 5 měsíci

    Большое спасибо, ничего нового для себя не узнал, но объяснение очень чёткое, буду рекомендовать другим

  • @benjamin4862
    @benjamin4862 Před rokem

    Круто, классно

  • @chinchilla898
    @chinchilla898 Před 2 lety +2

    Спасибо!

  • @user-or3ze7kl5d
    @user-or3ze7kl5d Před 2 lety +1

    Спасибо, полезно

  • @alexeyeliseev4076
    @alexeyeliseev4076 Před 2 lety +1

    Автор - красава, все четко рассказал!

  • @dokers2084
    @dokers2084 Před 2 lety +1

    Отличная современная подача на западном уровне, очень приятно смотреть!

  • @PAPAKOTT
    @PAPAKOTT Před 2 lety +1

    Круто !

  • @Kamil2012iam
    @Kamil2012iam Před 5 měsíci +1

    Спасибо за List!

  • @romanfersion6006
    @romanfersion6006 Před 2 lety +6

    Cделай видео про обобщения пожалуйста

  • @oshastitko
    @oshastitko Před 4 měsíci +1

    Добавление элемента в List - это не сложность O(1), это сложность O(1), когда размер массива под капотом листа достаточен для добавления элемента(ов) и O(n), когда не достаточно и размерность этого подкапотного массива удваивается (а она удваивается в таких случаях, если конечно удваивания хватает)

  • @nouchance
    @nouchance Před 2 lety

    Спасибо большое

  • @xex2260
    @xex2260 Před 2 lety +1

    отличное видео, все предельно ясно. Не то что у других

  • @KingDog25
    @KingDog25 Před 2 lety +1

    подписался, отличный контент

  • @user-cn6bz6ex5u
    @user-cn6bz6ex5u Před 10 měsíci +1

    Про дженерики - было бы просто отлично

  • @antonpylypenko8233
    @antonpylypenko8233 Před rokem +1

    можна так сократить new(), комент в поддержку канала!

  • @user-wu4fw7mt7c
    @user-wu4fw7mt7c Před 2 lety +2

    Про нотацию биг О было интересно! Жду новых видео!

    • @codaza-channel
      @codaza-channel  Před 2 lety +1

      Рад, что информация была полезной. Благодарю за комментарий, впереди много интересных видео 🙂

  • @user-qc7rh7od3t
    @user-qc7rh7od3t Před 2 lety +3

    Круто, продолжай

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Благодарю за комментарий. Дальше - больше 🙂

  • @MrROLiKHD
    @MrROLiKHD Před 2 lety +1

    Топчик

  • @SanyaSanyavich
    @SanyaSanyavich Před 2 lety +1

    круто

  • @volumesurup2078
    @volumesurup2078 Před rokem

    хороший гайд

  • @ruslanibrahimov6913
    @ruslanibrahimov6913 Před rokem

    если можно пожалуйста видео про Directory ваша подача вообще что-то с чем то я сразу запомнил

  • @tvtv7026
    @tvtv7026 Před rokem +1

    Красава спасибо

  • @playmarket8605
    @playmarket8605 Před 2 lety +5

    На примере List можно сделать урок про сложность алгоритмов О(1) О(n) и т.п. Можно также в конце сравнить его с LinkedList

    • @hysapod
      @hysapod Před 2 lety +1

      Согласен. Очень интересная тема.

  • @user-ks9gf1lc6l
    @user-ks9gf1lc6l Před 2 lety +1

    очень бы хотелось видео про односвязный и двусвязный список

  • @4atRuletka
    @4atRuletka Před 2 lety +1

    Ребята, подписываемся, что бы он еще больше видео выкладывал !)

  • @partymakerplay148
    @partymakerplay148 Před 2 lety +2

    годнота) очень бы хотелось схожий формат про методы и свойства))

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Рад, что материал оказался полезным :) Спасибо за комментарий. А что именно интересует в методах и свойствах?

    • @partymakerplay148
      @partymakerplay148 Před 2 lety +1

      @@codaza-channel в целом как работают :) параметры, модификаторы ref, out. Как всё происходит в памяти. Свойства - для чего нужны, кароч что бы тут стало понятно :D

  • @user-hk7qf9wl1m
    @user-hk7qf9wl1m Před 10 měsíci

    Спасибо.
    И ещё 4 слова

  • @romatomas8258
    @romatomas8258 Před 2 lety

    Кодаза, давай обсудим GENERICS в будущих роликах? Жде не дождусь когда смогу поставить такому видео лайк.

  • @crazydead256
    @crazydead256 Před rokem

    Пиндец как интересно про generic=))

  • @TanRubaka
    @TanRubaka Před 2 lety +2

    ещё тут можно было добавить о свойстве Capacity. и что происходит с List когда мы добавляем элемент, который выходит за размеры. если этого конечно уже нет в других видео.

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Большое спасибо! Это действительно было бы хорошим дополнением. Свойство Capacity очень полезно при оптимизациях, когда размер коллекции нам заранее известен. В некоторых сценариях, мы можем существенно снизить выделение памяти и повысить общую производительность приложения.

  • @naturalAmoebaAaaa
    @naturalAmoebaAaaa Před rokem

    Привет!
    Было бы неплохо увидеть видос по Generic, ну это так, мало ли с:

  • @mikhailkhatuntcov1483
    @mikhailkhatuntcov1483 Před 2 lety

    Спасибо за видосы. Подписался на вас.
    Хотя люблю по подкалывать. Так что не обижайтесь
    1:17 List or List 😁
    3:00 скорее тут стоит указать тот момент что операции с массивами ограничен тем как компьютеры работают - нельзя вот так взять и выделить память. Массив просто как валенок просто область памяти. А вот лист это ссылки на элементы в памяти. В теории массив это один блок памяти когда лист это ссылки на элементы в памяти которые могут быть разрознены. Кончно на практике все зависит от рантайма Ж)

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Не забывайте, что object это тоже тип 😉 Про dynamic, увы да.. В любом правиле есть исключения 🙂

    • @darkmeg2015
      @darkmeg2015 Před 2 lety

      во втором ты не прав, в шарпе List - это именно массив под капотом, который работает как указал автор, а вот LinkedList - это уже двусвязный список, где элементы разбросаны в памяти и соединены адресами.
      я когда из плюсов пришел, тоже сначала думал, что List это двухсвязный список)

  • @user-qf2xe2bd5r
    @user-qf2xe2bd5r Před rokem

    4:30 если в левой части указан List то в правой части можно просто записать как = new(); Это типа как var, оно само определит тип

  • @baksuser
    @baksuser Před 2 lety +1

    Снимите, пожалуйста, подобное видео с ObservableCollection

  • @gamerwithoutchannel9721

    Можно использование Generic считать проявлением полиморфизма?

  • @TheVelf
    @TheVelf Před 2 lety

    Джененирики и лямбды) Скандировала толпа)

  • @PoWeRMeH21
    @PoWeRMeH21 Před 2 lety +2

    Я конечно дико извиняюсь, видео хорошее, но не ошибка ли оценивать операцию add как O(1)? ведь такая оценка будет только в том случае если мы заранее указали размерность массива, при добавлении нового объекта, который выходит за размер, то массив будет скопирован и удвоен, тогда операция будет занимать уже O(n), или я не прав?

    • @codaza-channel
      @codaza-channel  Před 2 lety +1

      Да, Вы абсолютно правы. Это очень точное дополнение, которое не было упомянуто в ролике. В разделе 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

  • @romanurmancheev3552
    @romanurmancheev3552 Před 2 lety

    Сделайте пожалуйста выпуск про generics.

  • @-unity-
    @-unity- Před 2 lety +1

    Отличное видео! Что будет дальше по списку коллекций? Dictionary? LinkedList?

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Я думаю, посмотрим на что будет наибольший запрос от зрителей канала. О какой коллекции хотели бы поговорить Вы? :)

    • @-unity-
      @-unity- Před 2 lety +4

      @@codaza-channel Словарь чаще используется, чем связный список. Я бы с него и начал.

  • @fillmike
    @fillmike Před 2 lety +4

    про сортировку было бы интересно

    • @codaza-channel
      @codaza-channel  Před 2 lety +2

      Благодарю за комментарий. Обязательно учту в будущих роликах 🙂

    • @up9380
      @up9380 Před 2 lety

      @@codaza-channel Тоже посмотрел бы про быструю сортировку.

    • @codaza-channel
      @codaza-channel  Před 2 lety

      @@up9380 Обязательно учту Ваши пожелания :)

  • @allyanz
    @allyanz Před 2 lety

    Привет, при добавлении массива в лист, мы туда просто копируем данные из массива, или создаем ссылку на ссылку на данные в хипе?

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Привет. Массив является ссылочным типом, поэтому будет выполнено копирование ссылки в управляемой куче.

    • @allyanz
      @allyanz Před 2 lety +1

      ​@@codaza-channel понял, спасибо. Буду рад появлению новых материалов по листам. В интернете что в ру, что в инг сегментах про них гуглится действительно мало информации.

  • @Desh_
    @Desh_ Před 5 měsíci +1

    золото

  • @syrymjoli
    @syrymjoli Před rokem

    Да часто слышу Дженерики, я не знаю что это как его есть и с чем))

  • @altskiy2968
    @altskiy2968 Před rokem

    Сейчас на собесах очень модно стало спрашивать за capacity в List

  • @alexsoft999
    @alexsoft999 Před 2 měsíci

    А чего не сказал ничего про сложность Sort ?

  • @shurale85
    @shurale85 Před 2 lety

    Попробую задать немного сторонний вопрос, но каким-то боком относящийся к коллекциям. В foreach можно передать любой класс, содержащий в себе метод public Enumetator GetEnumerator(){...}. Объясните, пожалуйста, у какого типа/объекта foreach вызывает/получает этот объект Enumerator? Ведь Enumеrator это не интерфейс, не базовый тип. Это просто класс, содержащий Current и MoveNext. К чему там внутри обращается foreach или это что-то динамическое, просто на уровне соглашений. Если так, как мы сами можем подобное реализовать?

    • @codaza-channel
      @codaza-channel  Před 2 lety +1

      Вы описываете классический вариант 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

  • @shurale85
    @shurale85 Před 2 lety

    возможно стоит разобрать типы коллекции и интерфейсы ICollection, IEnumerable более подробно: 1) зачем лучше возвращать интерфейс 2) когда какую коллекцию использовать 3) затронуть yield. Помню был случай, я перебирал IEnumerable и постоянно натыкался на повторяющиеся элементы. Только после того как привел к определенному типу, ошибка ушла, а вот полностью разобраться времени не хватило. Совершенно не против, если подскажите, куда копать))

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Благодарю за предложенные варианты тем для обсуждения канале. Думаю, в будущем, затронем их в той или иной степени. Касательно ошибки, которая у Вас была, я, к сожалению, вряд ли смогу что-то подсказать, так как нужно понимание контекста, в котором она возникала. Возможно, у Вас были дубликаты записей или некорректные null-значения и т. д.

  • @bezdnatv5035
    @bezdnatv5035 Před 2 lety +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);

  • @user-fh5rh5rz7j
    @user-fh5rh5rz7j Před 2 lety

    Кстати под капотом Array.Sort находится не "быстрая сортировка", а некий гибридный механизм, который сортирует примерно в два раза быстрее, чем "быстрая сортировка" (хотя на сайте MSDN и указана быстрая, но тесты показывают обратное). А вот под капотом Generic'ов находится уже именно быстрая сортировка (но это не точно). Так вот вопрос: если под капотом Листа находится Массив, то какая все-таки сортировка у Листа?)

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Исходные тексты dotnet открыты, вы всегда можете посмотреть все интересующие детали реализации.

  • @aleksey8405
    @aleksey8405 Před rokem +1

    Без музыки было бы лучше. Но всё равно спасибо за видео.

  • @stasonr3856
    @stasonr3856 Před 2 lety

    Спс. Очень даже понятно. Только не понятно как вытаскивать и выводить на консоль экземпляры класса(((
    А так очень даже заметно. Спс.

  • @Drak0sha13
    @Drak0sha13 Před rokem +1

    Где можно, лучше заменять на IEnumerable

    • @codaza-channel
      @codaza-channel  Před rokem

      Там, где ваша единственная задача работы с коллекцией - это итерирование по её элементам. То есть вы занимаетесь только чтением данных из коллекции.

  • @user-kd5gl5jq5x
    @user-kd5gl5jq5x Před 11 měsíci

    А можно сделать лист с типом dynamic и модно пихать все что угодно

  • @andrey.shpilevoy
    @andrey.shpilevoy Před 10 měsíci

    Час билcя с ошибкой, нашел видео, и понял что забыл про new... проблема с переходом(((

  • @hw2cb
    @hw2cb Před 2 lety

    !

  • @browdy4454
    @browdy4454 Před 2 lety

    Мне вот интересно почему существуют методы как Insert? Ведь можно просто во время написания кода, самому дописать эту недостающую строку, объясните пожалуйста.

    • @codaza-channel
      @codaza-channel  Před 2 lety +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 Před 2 lety +1

      Спасибо, всё понял)

  • @kekand0s141
    @kekand0s141 Před rokem

    ты сказал про статические массивы, но можно использовать и динамические)) и явно не указывать размерность массива

  •  Před rokem

    Может знает кто:
    Я делаю систему ХП для рогалика в виде ячеек и выбрал лист, так как это единственный метод который нашёл и он подходит, там и для пустого ХП есть решение и для полного.
    Так вот, он тоже на List'e работает, его размер приходит из PlayerMaxHP в цикл и создаёт на канвасе префаб с полным сердцем и привязаным к нему пустым сердцем.
    Так вот, я хочу что бы при коллизии в этом листе убывалось количество полных сердец, вроде написал метод, ХП отнимается, но на канвасе не отображается, по ходу я в корне проблемы совершил несколько фундаментальных ошибок 😄
    Так вот, как можно динамически изменять количество объектов в листе в моём случае? Под комментом скину видео где нашёл пример

    •  Před rokem

      Вот, собственно.
      czcams.com/video/lBRwsl25jUs/video.html

  • @Ivan_sev
    @Ivan_sev Před 2 lety

    3:14 не-а, можно сделать так:
    Array.ReSize(ref years, years.Length+1);
    (ReSize = это не точное название, простите, но я далеко от компа)

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Иван, 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 Před 2 lety

      @@codaza-channel я имел ввиду что такая функция в массива есть, я не имел ввиду что это быстрее или лучше

  • @vanya5454_BlackMan
    @vanya5454_BlackMan Před rokem

    Короче можнл сделать var socialNetworrs = new List();

  • @DarkW1zard
    @DarkW1zard Před 2 lety

    Ютуб удаляет коммент "0:08 вызов принят" три раза по разному пытался оставить коммент О_О Попытка 4.

  • @user-ty6fq9os9k
    @user-ty6fq9os9k Před 22 dny

    Видео не всё о Листе. Как загрузить данный из файла в Лист не рассказано.

  • @saasrus
    @saasrus Před 2 lety

    Лично для меня было неприятным сюрпризом отсутствие расширения "удалить последний элемент", ведь .RemoveLast гораздо проще написать чем .RemoveAt(List.Count - 1). В результате код обрастает вот этими громоздкими конструкциями, которые можно было максимально эффективно зашить в компилятор. Я понимаю, что можно извратиться и сделать это вручную, но я ещё пока не настолько крут, и почему это должен делать я а не создатели языка?

    • @exregisterqq
      @exregisterqq Před rokem

      конечно не актуально, но все же)
      можно запросто написать метод расширения с этим функционалом и использовать когда нужно, так же и с любой другой фичей

    • @exregisterqq
      @exregisterqq Před rokem

      в каком нибудь статик классе Extenssions создаём метод :
      public static void RemoveLast(this List list) {
      list.RemoveAt(list.Count - 1);
      }
      и извне используем :
      listChegoto.RemoveLast();

    • @saasrus
      @saasrus Před rokem

      @@exregisterqq может не актуально, но отвечу сам себе же: есть такая конструкция как ^1, её предлагает интеллектулаьный заменитель кода. Просто вставьте её в индекс и ... (смотреть продолжение в источнике)

    • @exregisterqq
      @exregisterqq Před rokem

      @@saasrus точно, сам забыл про него) но если нужен более специфический метод, то расширения к вашим услугам

  • @GGamess
    @GGamess Před 2 lety +2

    9:59 - Короткая запись инициализации List ? нет такой короткой записи, скопируй свой код и запусти.

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Вы правы. Пропущено ключевое слово "new". Корректно будет так:
      List socialNetworks = new() { "CZcams", "Facebook", "Instagram" };
      Спасибо за внимательность!

    • @GGamess
      @GGamess Před 2 lety

      так тоже не будет работать.

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Я проверил эту запись минуту назад, работает :) Я использую .NET 5 и C# 9. Возможно, вы используете более ранние версии.

    • @GGamess
      @GGamess Před 2 lety

      @@codaza-channel C# 8

    • @codaza-channel
      @codaza-channel  Před 2 lety

      Самое время обновиться 😉

  • @iHeck000
    @iHeck000 Před 11 měsíci

    Var

  • @hulk3147426
    @hulk3147426 Před rokem

    на примере с короткой формой пропущено new перед скобками иначе выдает ошибку

  • @hulk3147426
    @hulk3147426 Před rokem

    когда пишу краткую форму почему то выдает ошибку тп недопустимые знаки((

  • @Русь-Родина

    Не сортировка, а упорядочивание. К русскому языку привыкайте и не уродуйте его.