Size: a a a

var chat = new Chat();

2021 March 29

ДС

Дима Ким Сыщик Сыщик... in var chat = new Chat();
назови меня клоуном
зашел ничо не понял вішел
Надо было начало и конец прочесть чтоб время не тратить
источник

А

Алекс in var chat = new Chat();
А чё прикольная статья, я раньше думал что тулист оптимальный для iquerable т.к неизвестно конечное число элементов. Выходит что без разницы
источник

ДС

Дима Ким Сыщик Сыщик... in var chat = new Chat();
Так то что лист это массив и размер выделялся кратно степени двойки давно уже писали
источник

AS

Andrii Shcherbyna in var chat = new Chat();
Алекс
А чё прикольная статья, я раньше думал что тулист оптимальный для iquerable т.к неизвестно конечное число элементов. Выходит что без разницы
У iqueryable вроде своя имплементация. В статье описано IEnumerable
источник

ДС

Дима Ким Сыщик Сыщик... in var chat = new Chat();
А статья про разницу между ними, но я так и не понял в чем
источник

AS

Andrii Shcherbyna in var chat = new Chat();
Дима Ким Сыщик Сыщик☂️
А статья про разницу между ними, но я так и не понял в чем
Там несколько сценариев и имплементация немного отличается. Хотя общая логика оч похожа
источник

ДС

Дима Ким Сыщик Сыщик... in var chat = new Chat();
Та я понимаю, но сама статья . Начали за здравие закончили за упокой. Не до конца раскрыта тема
источник

AS

Andrii Shcherbyna in var chat = new Chat();
3 сценария:
1)
Condition: коллекцию можно привести к IIListProvider<TSource>
Action: будет вызван метод ToList/ToArray с этого провайдера
Perfomance: зависит от имплементации провайдера
2)
Condition: коллекцию можно привести к ICollection<T>
Action: создаем Array/List(по сути массив под капотом) юзая ICollection.Count и копируем в него элементы
Perfomance: быстро, так как надо скопировать 1 раз элементы в массив
3)
Condition: первые два условия не отработали
Action:
- ToList
В цикле проходим по коллекции и вставляем элементы методом Add
- ToArray
Инициализируем Array через специальный класс LargeArrayBuilder
Perfomance:
- ToList
Медленнее чем сценарий 2, так как можем много раз вызывать операцию увеличения массива -> создаем новый массив большего размера и копируем в него элементы старого массива
- ToArray
Общий алгоритм билдера -> создаем промежуточные массивы фиксированного размера, заполняем их, в конце их соединяем в один общий массив. Так же медленнее чем сценарий 2, но с ToList разница зависит от количества элементов
источник

AS

Andrii Shcherbyna in var chat = new Chat();
Вот и вся статья
источник

ДС

Дима Ким Сыщик Сыщик... in var chat = new Chat();
Я проще профайлером замерю оба метода и выберу тот что быстрее, чем буду пытаться понять таким образом
источник

ДС

Дима Ким Сыщик Сыщик... in var chat = new Chat();
Тем более не на одном тулист свет клином сошелся, дальше перебор цикла и др.🙃
источник

ПП

Покажи Прибыль... in var chat = new Chat();
Есть .net core приложение, я так понял надо запускать через dotnet run
источник

ПП

Покажи Прибыль... in var chat = new Chat();
источник

ПП

Покажи Прибыль... in var chat = new Chat();
источник

ПП

Покажи Прибыль... in var chat = new Chat();
Чё запустить
источник

SC

Serega Carbon in var chat = new Chat();
Покажи Прибыль
Чё запустить
гугл выдал бан?)
источник

SC

Serega Carbon in var chat = new Chat();
хотя не удивлюсь если это так ))
источник

SC

Serega Carbon in var chat = new Chat();
*** бедный гугл***
источник

SC

Serega Carbon in var chat = new Chat();
Покажи Прибыль
Чё запустить
пробуй всё, посмотришь что будет)
источник

ПП

Покажи Прибыль... in var chat = new Chat();
Я запустил его через консольку
источник