Библиотека шарписта | C#, F#, .NET, ASP.NET
Все самое полезное для C#-разработчика в одном канале. Наши курсы: https://clc.to/y3LDtw По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Показати більше📈 Аналітичний огляд Telegram-каналу Библиотека шарписта | C#, F#, .NET, ASP.NET
Канал Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 21 511 підписників, посідаючи 6 134 місце в категорії Технології та додатки та 30 392 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 21 511 підписників.
За останніми даними від 04 листопада, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -119, а за останні 24 години на -2, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 15.13%. Протягом перших 24 годин після публікації контент зазвичай збирає 7.46% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 3 255 переглядів. Протягом першої доби публікація в середньому набирає 1 604 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 4.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як .net, шарписта, навигация, await, string.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Все самое полезное для C#-разработчика в одном канале.
Наши курсы: https://clc.to/y3LDtw
По рекламе: @tproger_sales_bot
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead”
Завдяки високій частоті оновлень (останні дані отримано 05 листопада, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
HttpClient так, чтобы не получать 429 Too Many Requests.
👉 Читать System.InvalidOperationException: Collection was modified; enumeration operation may not execute.?
Для решения этой проблемы Steven Giesel предложил ввести механизм версионности, который заключается в следующем:
☑️ В классе списка вводится поле version, которое инкрементируется каждый раз при изменении списка (добавлении, удалении элементов или изменении существующих).
☑️ При создании итератора для перечисления элементов списка запоминается текущее значение version.
☑️ В каждом вызове метода MoveNext() итератора происходит проверка: если текущее значение version списка отличается от значения, зафиксированного при создании итератора, генерируется исключение InvalidOperationException. Это предотвращает непредвиденные последствия от изменения коллекции во время её перебора.
Таким образом, при попытке изменить список в процессе его перечисления, система обнаруживает несоответствие версий и активно препятствует продолжению некорректной операции, защищая от ошибок выполнения и потенциальных багов в программе.DbUpdateException. Если вам нужно выяснить, было ли исключение вызвано уникальным ограничением, слишком длинным значением или отсутствием значения для обязательного столбца, вам нужно будет изучить конкретный экземпляр подкласса DbException и проверить код ошибки, чтобы определить точную причину.
EntityFramework.Exceptions упрощает это, обрабатывая все специфичные для базы данных детали и выбрасывая разные исключения. Всё, что вам нужно сделать, это настроить DbContext, вызвав UseExceptionProcessor, и обработать такие исключения, как UniqueConstraintException, CannotInsertNullException, MaxLengthExceededException, NumericOverflowException, ReferenceConstraintException.
В случае UniqueConstraintException и ReferenceConstraintException вы можете получить имя связанного ограничения с помощью свойства ConstraintName. ConstraintProperties будет содержать свойства, которые являются частью ограничения.
📦 NuGet[MemberNotNullWhen] помогает компилятору указать, при каких условиях указанное поле или свойство не имеет значения NULL, что улучшает статический анализ кода.
#csharp #tip by Łukasz Żabski