Тёмный

C# List 

codaza
Подписаться 22 тыс.
Просмотров 44 тыс.
50% 1

Кроме массивов, в 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

Опубликовано:

 

29 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 151   
@codaza-channel
@codaza-channel 2 года назад
Удобная навигация по видео :) 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 5 месяцев назад
Лучшее объяснение! Спасибо! Без воды, всё чётко.
@titanovsky
@titanovsky 4 месяца назад
Да, это так.
@user-qo1ty6kj2q
@user-qo1ty6kj2q 2 года назад
Круто сделал, Многих тем нет на аналогичных каналах посвященных До диезу!
@silseleum
@silseleum 2 года назад
С до диезом улыбнуло)
@user-qs8vf5dm3c
@user-qs8vf5dm3c 11 месяцев назад
@@silseleum Музыканты по другому не могут.
@heyumid
@heyumid 2 года назад
Обычно когда мне нравится видео я очень редко пишу об этом в комментарии, не люблю пополнять список бесполезными благодарностями, так как "Комментарии" нужны для того чтобы комментировать чего-либо, думаю отметки "Нравится" хватает. Серия коротких видео "Тут все станет понятно" отлично продуманна. Не останавливайтесь!
@cookie5184
@cookie5184 2 года назад
Спасибо огромное за шикарную подачу материала. Так держать
@unknyver
@unknyver 2 года назад
Большая благодарность автору🙂
@bormissokol3387
@bormissokol3387 2 года назад
Отличная подача материала! (лайк-подписка -колокол). 1. Да, хочется увидеть про обобщения 2. Да , хочется увидеть про сортировки И ещё любопытно каким средствами делается такое видео.
@codaza-channel
@codaza-channel 2 года назад
Рад, что ролик понравился 🙂 По 2-ому пункту, уже успели поговорить на канале про Quick Sort: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-DmFXdwy_mH0.html По созданию видео: Power Point + Adobe Premier Pro
@QOD_sStar
@QOD_sStar 2 года назад
спасибо большое за это видео! учусь на IT специалиста, но к сожалению препод не заинтересован в том, чтобы дать нам знания.. а вы объясняете очень четко и лаконично, а самое главное, понятно! даже мотивация изучать дальше си шарп появилась. еще раз спасибо за это видео, смело ставлю лайк и подписку)
@makar3343
@makar3343 2 года назад
Урок Супер, спасибо!
@user-dv5ue1om3m
@user-dv5ue1om3m 2 года назад
Вау, давно уже знаю про все это, но подчеркнул некоторые фишки для себя, да и в целом, приятно было смотреть)
@bekmyrzaevzharmat2771
@bekmyrzaevzharmat2771 2 года назад
Спасибо большое) мне нравится подача материала
@user-sf9ib9wj7j
@user-sf9ib9wj7j 2 года назад
Спасибо! Отличное объяснение! Жду новых видео!
@codaza-channel
@codaza-channel 2 года назад
Благодарю за комментарий. Впереди много интересного материала 🙂
@AzizjanAyupov_leo
@AzizjanAyupov_leo Год назад
Шикарно) Особенно нравится, что описываются тонкости, типа алгоритмов и пр) Что лезим под капот)
@dimavavilov7737
@dimavavilov7737 Год назад
Полезное видео! Спасибо большое
@user-bx4ui2me6m
@user-bx4ui2me6m Год назад
Добрый день! Излагается профессионально. Логичное продолжение тем: лямбда, многопоточность и прочие подобные. Спасибо большое!!!
@elina_chrk
@elina_chrk Год назад
Спасибо за видео, очень приятный голос)) информация преподносится супер понятно, без лишнего. Буду ждать новые видео
@codaza-channel
@codaza-channel Год назад
Благодарю 💙 Рад, что видео оказалось полезным!
@youchinafriend
@youchinafriend 2 года назад
Да, информация была очень полезной!
@Yuskus
@Yuskus Год назад
Максимально понятно и ёмко 👌. Лайк)
@ruslanrahimov5483
@ruslanrahimov5483 2 года назад
Очень приятная подача. Все супер от визуала до интонации в голосе. Спасибо!
@codaza-channel
@codaza-channel 2 года назад
Благодарю! Очень рад, что ролик оказался полезным.
@syrymzholimbetov8860
@syrymzholimbetov8860 Год назад
кайф с телефона смотреть все видно понятно, СПАСИБО!
@levleynov3663
@levleynov3663 2 года назад
Спасибо огромное!
@vasyapypkin9221
@vasyapypkin9221 2 года назад
Красавчик! Спасибо! не мог никак найти в интернете что же за тип данных List под капотом, твоё видео спасло
@Cleannetcode
@Cleannetcode 2 года назад
Клёво получилось, продолжай в том же духе :)
@Neroz49rujka
@Neroz49rujka 2 года назад
Otlichno! Spasibo bolshoe!
@ovasendin
@ovasendin 2 года назад
Классное объяснение, спасибо! С меня подписка)
@daukaevk
@daukaevk Год назад
Лучшее обьяснение, еще и со стороны производительности!
@ruslanibrahimov6913
@ruslanibrahimov6913 Год назад
Очень прекрасно так легко объяснил я один раз посмотрел понял что я хотел спасибо большое
@user-or3ze7kl5d
@user-or3ze7kl5d 2 года назад
Спасибо, полезно
@chinchilla898
@chinchilla898 2 года назад
Спасибо!
@user-cy2ul1lr6z
@user-cy2ul1lr6z Год назад
Обоже, спасибо огромное, очень хорошая подача материала :>
@codaza-channel
@codaza-channel Год назад
💙
@SnakeReview
@SnakeReview 2 года назад
Редко пишу комментарии. Но моё почтение. Это невероятно полезный и крутой формат!
@nouchance
@nouchance 2 года назад
Спасибо большое
@benjamin4862
@benjamin4862 Год назад
Круто, классно
@PAPAKOTT
@PAPAKOTT 2 года назад
Круто !
@alexeyeliseev4076
@alexeyeliseev4076 2 года назад
Автор - красава, все четко рассказал!
@user-he2ow4wr9c
@user-he2ow4wr9c 2 года назад
Видео классное, сними также про связные списки
@romanfersion6006
@romanfersion6006 2 года назад
Cделай видео про обобщения пожалуйста
@KingDog25
@KingDog25 2 года назад
подписался, отличный контент
@titanovsky
@titanovsky 4 месяца назад
Большое спасибо, ничего нового для себя не узнал, но объяснение очень чёткое, буду рекомендовать другим
@user-qc7rh7od3t
@user-qc7rh7od3t 2 года назад
Круто, продолжай
@codaza-channel
@codaza-channel 2 года назад
Благодарю за комментарий. Дальше - больше 🙂
@Kamil2012iam
@Kamil2012iam 5 месяцев назад
Спасибо за List!
@ruslanibrahimov6913
@ruslanibrahimov6913 Год назад
если можно пожалуйста видео про Directory ваша подача вообще что-то с чем то я сразу запомнил
@playmarket8605
@playmarket8605 2 года назад
На примере List можно сделать урок про сложность алгоритмов О(1) О(n) и т.п. Можно также в конце сравнить его с LinkedList
@hysapod
@hysapod 2 года назад
Согласен. Очень интересная тема.
@oshastitko
@oshastitko 4 месяца назад
Добавление элемента в List - это не сложность O(1), это сложность O(1), когда размер массива под капотом листа достаточен для добавления элемента(ов) и O(n), когда не достаточно и размерность этого подкапотного массива удваивается (а она удваивается в таких случаях, если конечно удваивания хватает)
@xex2260
@xex2260 2 года назад
отличное видео, все предельно ясно. Не то что у других
@dokers2084
@dokers2084 2 года назад
Отличная современная подача на западном уровне, очень приятно смотреть!
@antonpylypenko8233
@antonpylypenko8233 Год назад
можна так сократить new(), комент в поддержку канала!
@user-wu4fw7mt7c
@user-wu4fw7mt7c 2 года назад
Про нотацию биг О было интересно! Жду новых видео!
@codaza-channel
@codaza-channel 2 года назад
Рад, что информация была полезной. Благодарю за комментарий, впереди много интересных видео 🙂
@volumesurup2078
@volumesurup2078 Год назад
хороший гайд
@SanyaSanyavich
@SanyaSanyavich 2 года назад
круто
@user-cn6bz6ex5u
@user-cn6bz6ex5u 10 месяцев назад
Про дженерики - было бы просто отлично
@tvtv7026
@tvtv7026 Год назад
Красава спасибо
@TanRubaka
@TanRubaka 2 года назад
ещё тут можно было добавить о свойстве Capacity. и что происходит с List когда мы добавляем элемент, который выходит за размеры. если этого конечно уже нет в других видео.
@codaza-channel
@codaza-channel 2 года назад
Большое спасибо! Это действительно было бы хорошим дополнением. Свойство Capacity очень полезно при оптимизациях, когда размер коллекции нам заранее известен. В некоторых сценариях, мы можем существенно снизить выделение памяти и повысить общую производительность приложения.
@MrROLiKHD
@MrROLiKHD 2 года назад
Топчик
@partymakerplay148
@partymakerplay148 2 года назад
годнота) очень бы хотелось схожий формат про методы и свойства))
@codaza-channel
@codaza-channel 2 года назад
Рад, что материал оказался полезным :) Спасибо за комментарий. А что именно интересует в методах и свойствах?
@partymakerplay148
@partymakerplay148 2 года назад
@@codaza-channel в целом как работают :) параметры, модификаторы ref, out. Как всё происходит в памяти. Свойства - для чего нужны, кароч что бы тут стало понятно :D
@user-hk7qf9wl1m
@user-hk7qf9wl1m 10 месяцев назад
Спасибо. И ещё 4 слова
@4atRuletka
@4atRuletka 2 года назад
Ребята, подписываемся, что бы он еще больше видео выкладывал !)
@user-ks9gf1lc6l
@user-ks9gf1lc6l 2 года назад
очень бы хотелось видео про односвязный и двусвязный список
@fillmike
@fillmike 2 года назад
про сортировку было бы интересно
@codaza-channel
@codaza-channel 2 года назад
Благодарю за комментарий. Обязательно учту в будущих роликах 🙂
@up9380
@up9380 2 года назад
@@codaza-channel Тоже посмотрел бы про быструю сортировку.
@codaza-channel
@codaza-channel 2 года назад
@@up9380 Обязательно учту Ваши пожелания :)
@user-qf2xe2bd5r
@user-qf2xe2bd5r 11 месяцев назад
4:30 если в левой части указан List то в правой части можно просто записать как = new(); Это типа как var, оно само определит тип
@romatomas8258
@romatomas8258 2 года назад
Кодаза, давай обсудим GENERICS в будущих роликах? Жде не дождусь когда смогу поставить такому видео лайк.
@hulk3147426
@hulk3147426 Год назад
а так подача очень схематичная и понятная нигде такого не видел чтоб так доступно объясняли и наглядно что самое важное
@crazydead256
@crazydead256 Год назад
Пиндец как интересно про generic=))
@mikhailkhatuntcov1483
@mikhailkhatuntcov1483 2 года назад
Спасибо за видосы. Подписался на вас. Хотя люблю по подкалывать. Так что не обижайтесь 1:17 List or List 😁 3:00 скорее тут стоит указать тот момент что операции с массивами ограничен тем как компьютеры работают - нельзя вот так взять и выделить память. Массив просто как валенок просто область памяти. А вот лист это ссылки на элементы в памяти. В теории массив это один блок памяти когда лист это ссылки на элементы в памяти которые могут быть разрознены. Кончно на практике все зависит от рантайма Ж)
@codaza-channel
@codaza-channel 2 года назад
Не забывайте, что object это тоже тип 😉 Про dynamic, увы да.. В любом правиле есть исключения 🙂
@darkmeg2015
@darkmeg2015 2 года назад
во втором ты не прав, в шарпе List - это именно массив под капотом, который работает как указал автор, а вот LinkedList - это уже двусвязный список, где элементы разбросаны в памяти и соединены адресами. я когда из плюсов пришел, тоже сначала думал, что List это двухсвязный список)
@naturalAmoebaAaaa
@naturalAmoebaAaaa Год назад
Привет! Было бы неплохо увидеть видос по Generic, ну это так, мало ли с:
@baksuser
@baksuser 2 года назад
Снимите, пожалуйста, подобное видео с ObservableCollection
@-unity-
@-unity- 2 года назад
Отличное видео! Что будет дальше по списку коллекций? Dictionary? LinkedList?
@codaza-channel
@codaza-channel 2 года назад
Я думаю, посмотрим на что будет наибольший запрос от зрителей канала. О какой коллекции хотели бы поговорить Вы? :)
@-unity-
@-unity- 2 года назад
@@codaza-channel Словарь чаще используется, чем связный список. Я бы с него и начал.
@TheVelf
@TheVelf 2 года назад
Джененирики и лямбды) Скандировала толпа)
@Desh_
@Desh_ 5 месяцев назад
золото
@romanurmancheev3552
@romanurmancheev3552 2 года назад
Сделайте пожалуйста выпуск про generics.
@altskiy2968
@altskiy2968 Год назад
Сейчас на собесах очень модно стало спрашивать за capacity в List
@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
@syrymzholimbetov8860
@syrymzholimbetov8860 Год назад
Да часто слышу Дженерики, я не знаю что это как его есть и с чем))
@allyanz
@allyanz 2 года назад
Привет, при добавлении массива в лист, мы туда просто копируем данные из массива, или создаем ссылку на ссылку на данные в хипе?
@codaza-channel
@codaza-channel 2 года назад
Привет. Массив является ссылочным типом, поэтому будет выполнено копирование ссылки в управляемой куче.
@allyanz
@allyanz 2 года назад
​@@codaza-channel понял, спасибо. Буду рад появлению новых материалов по листам. В интернете что в ру, что в инг сегментах про них гуглится действительно мало информации.
@gamerwithoutchannel9721
@gamerwithoutchannel9721 Год назад
Можно использование Generic считать проявлением полиморфизма?
@aleksey8405
@aleksey8405 Год назад
Без музыки было бы лучше. Но всё равно спасибо за видео.
@shurale85
@shurale85 2 года назад
возможно стоит разобрать типы коллекции и интерфейсы ICollection, IEnumerable более подробно: 1) зачем лучше возвращать интерфейс 2) когда какую коллекцию использовать 3) затронуть yield. Помню был случай, я перебирал IEnumerable и постоянно натыкался на повторяющиеся элементы. Только после того как привел к определенному типу, ошибка ушла, а вот полностью разобраться времени не хватило. Совершенно не против, если подскажите, куда копать))
@codaza-channel
@codaza-channel 2 года назад
Благодарю за предложенные варианты тем для обсуждения канале. Думаю, в будущем, затронем их в той или иной степени. Касательно ошибки, которая у Вас была, я, к сожалению, вряд ли смогу что-то подсказать, так как нужно понимание контекста, в котором она возникала. Возможно, у Вас были дубликаты записей или некорректные null-значения и т. д.
@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 Год назад
СПАСИБО
@alexsoft999
@alexsoft999 2 месяца назад
А чего не сказал ничего про сложность Sort ?
@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
@andrey.shpilevoy
@andrey.shpilevoy 10 месяцев назад
Час билcя с ошибкой, нашел видео, и понял что забыл про new... проблема с переходом(((
@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 я имел ввиду что такая функция в массива есть, я не имел ввиду что это быстрее или лучше
@user-kd5gl5jq5x
@user-kd5gl5jq5x 10 месяцев назад
А можно сделать лист с типом dynamic и модно пихать все что угодно
@user-fh5rh5rz7j
@user-fh5rh5rz7j 2 года назад
Кстати под капотом Array.Sort находится не "быстрая сортировка", а некий гибридный механизм, который сортирует примерно в два раза быстрее, чем "быстрая сортировка" (хотя на сайте MSDN и указана быстрая, но тесты показывают обратное). А вот под капотом Generic'ов находится уже именно быстрая сортировка (но это не точно). Так вот вопрос: если под капотом Листа находится Массив, то какая все-таки сортировка у Листа?)
@codaza-channel
@codaza-channel 2 года назад
Исходные тексты dotnet открыты, вы всегда можете посмотреть все интересующие детали реализации.
@kekand0s141
@kekand0s141 Год назад
ты сказал про статические массивы, но можно использовать и динамические)) и явно не указывать размерность массива
@stasonr3856
@stasonr3856 2 года назад
Спс. Очень даже понятно. Только не понятно как вытаскивать и выводить на консоль экземпляры класса((( А так очень даже заметно. Спс.
@Drak0sha13
@Drak0sha13 Год назад
Где можно, лучше заменять на IEnumerable
@codaza-channel
@codaza-channel Год назад
Там, где ваша единственная задача работы с коллекцией - это итерирование по её элементам. То есть вы занимаетесь только чтением данных из коллекции.
@hw2cb
@hw2cb 2 года назад
!
@DarkW1zard
@DarkW1zard 2 года назад
Ютуб удаляет коммент "0:08 вызов принят" три раза по разному пытался оставить коммент О_О Попытка 4.
@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 года назад
Спасибо, всё понял)
@vanya5454_BlackMan
@vanya5454_BlackMan Год назад
Короче можнл сделать var socialNetworrs = new List();
Год назад
Может знает кто: Я делаю систему ХП для рогалика в виде ячеек и выбрал лист, так как это единственный метод который нашёл и он подходит, там и для пустого ХП есть решение и для полного. Так вот, он тоже на List'e работает, его размер приходит из PlayerMaxHP в цикл и создаёт на канвасе префаб с полным сердцем и привязаным к нему пустым сердцем. Так вот, я хочу что бы при коллизии в этом листе убывалось количество полных сердец, вроде написал метод, ХП отнимается, но на канвасе не отображается, по ходу я в корне проблемы совершил несколько фундаментальных ошибок 😄 Так вот, как можно динамически изменять количество объектов в листе в моём случае? Под комментом скину видео где нашёл пример
Год назад
Вот, собственно. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-lBRwsl25jUs.html
@GGamess
@GGamess 2 года назад
9:59 - Короткая запись инициализации List ? нет такой короткой записи, скопируй свой код и запусти.
@codaza-channel
@codaza-channel 2 года назад
Вы правы. Пропущено ключевое слово "new". Корректно будет так: List socialNetworks = new() { "RU-vid", "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 года назад
Самое время обновиться 😉
@user-ty6fq9os9k
@user-ty6fq9os9k 16 дней назад
Видео не всё о Листе. Как загрузить данный из файла в Лист не рассказано.
@ukrmapper
@ukrmapper 12 часов назад
бро
@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 точно, сам забыл про него) но если нужен более специфический метод, то расширения к вашим услугам
@iHeck000
@iHeck000 11 месяцев назад
Var
@hulk3147426
@hulk3147426 Год назад
на примере с короткой формой пропущено new перед скобками иначе выдает ошибку
@hulk3147426
@hulk3147426 Год назад
когда пишу краткую форму почему то выдает ошибку тп недопустимые знаки((
@maksanimals5617
@maksanimals5617 2 года назад
вот короче: var socialNetwork = new List ()
@codaza-channel
@codaza-channel 2 года назад
Да, это самый короткий вариант 🙂 Однако, я предпочитаю такой: List socialNetworks = new(); так как указание типа сразу же показывает намерение объявить коллекцию. Но это дело вкуса, многие разработчики склонны пользоваться var.
@user-oq9xr8dj1b
@user-oq9xr8dj1b Год назад
Не сортировка, а упорядочивание. К русскому языку привыкайте и не уродуйте его.
Далее
C# Delegates Делегаты
18:14
Просмотров 82 тыс.
C# QuickSort Быстрая сортировка
21:32
C# Events События
14:36
Просмотров 49 тыс.
C# Lists 📃
6:46
Просмотров 97 тыс.