✍🏻 Каков реальный вариант использования ключевого слова «yield» в C#?
Ключевое слово yield в C# используется в методах итераторов для создания итератора с отслеживанием состояния и возврата последовательности значений «на лету», без сохранения всей последовательности в памяти. Он создает пользовательскую реализацию интерфейса IEnumerator на основе кода метода итератора и запоминает текущее состояние выполнения между вызовами MoveNext(). Такая ленивая оценка итератора улучшает использование памяти и производительность, особенно для больших или бесконечных последовательностей.
Библиотека собеса по С#
Библиотека собеса по С#
Forwarded from Библиотека шарписта | C#, F#, .NET, ASP.NET
💾 Как выбрать стратегию кэширования: разбор 7 популярных алгоритмов
Кешировать нужно с умом. И нет, LRU — не серебряная пуля.
В статье вас ждёт разбор алгоритмов: LRU, LFU, FIFO и другие
– Примеры, где каждый работает лучше
– Плюсы и минусы подходов
– Практические советы по выбору стратегии
Если проектируете систему с большими нагрузками или оптимизируете производительность — материал будет как раз.
➡️ Читать статью
🐸 Библиотека шарписта
Кешировать нужно с умом. И нет, LRU — не серебряная пуля.
В статье вас ждёт разбор алгоритмов: LRU, LFU, FIFO и другие
– Примеры, где каждый работает лучше
– Плюсы и минусы подходов
– Практические советы по выбору стратегии
Если проектируете систему с большими нагрузками или оптимизируете производительность — материал будет как раз.
Please open Telegram to view this post
VIEW IN TELEGRAM
✍🏻 Какие реализации DI контейнеров вы знаете на C#. Какой DI контейнер является лучшим?
Castle Windsor, Autofac, Ninject, Unity... и так далее, на самом деле их очень много. Насчет того, какой из них лучший — не совсем корректный вопрос. Все зависит от конкретной реализации.
Библиотека собеса по С#
Библиотека собеса по С#
Forwarded from Библиотека шарписта | C#, F#, .NET, ASP.NET
#️⃣🏗 Как не запутаться в структурах данных в Unity и C#
Когда работаете с Unity, почти каждая система — это работа с данными. Инвентарь, состояния врагов, квесты, сохранения. И вот тут важно не просто «что-то завести», а осознанно выбрать структуру данных под задачу.
Экономия памяти, меньше багов и чище код — это не абстрактные плюсы, а реальные бонусы при разработке.
➡️ Подробности в статье
🐸 Библиотека шарписта
Когда работаете с Unity, почти каждая система — это работа с данными. Инвентарь, состояния врагов, квесты, сохранения. И вот тут важно не просто «что-то завести», а осознанно выбрать структуру данных под задачу.
Экономия памяти, меньше багов и чище код — это не абстрактные плюсы, а реальные бонусы при разработке.
Please open Telegram to view this post
VIEW IN TELEGRAM
✍🏻 В чем разница между абстрактными и виртуальными классами? Между виртуальными и абстрактными методами?
Абстрактный класс — это класс, помеченный ключевым словом abstract. В абстрактном классе содержатся абстрактные члены (методы, свойства, индексаторы, события), они не имеют внутренней реализации и выступают в роли интерфейса. Они так же обязаны быть помечены ключевыми словом abstract. При наследовании от абстрактного класса класс-наследник получает все свойства своего класса родителя, а если в родительском классе есть еще и абстрактные члены, то в классе наследнике обязательно их нужно переопределять.
Виртуальный класс, это просто класс в котором есть виртуальные члены (методы, свойства...). Виртуальные члены помечаются модификатором virtual и имеют внутреннюю реализацию, которая может быть переопределена в классе наследнике.
Библиотека собеса по С#
Виртуальный класс, это просто класс в котором есть виртуальные члены (методы, свойства...). Виртуальные члены помечаются модификатором virtual и имеют внутреннюю реализацию, которая может быть переопределена в классе наследнике.
Библиотека собеса по С#