Telegram RegisterThe public register of Telegram
Telegram profile photo for Библиотека шарписта | C#, F#, .NET, ASP.NET

Channel

Библиотека шарписта | C#, F#, .NET, ASP.NET

@csharpproglib

On this record: Growth · Engagement · What this channel posts · Reactions · Posts · Posts edited after publishing · Citations · Telegram's recommendations · Cite this entry

21,715subscribers

-10 since we began measuring on 6 August 2026

Risers and fallers across the register · movement among entries of 10,000–31,623.

Register entry

Telegram ID-1001348905920
TypeChannel
Username@csharpproglib
DescriptionВсе самое полезное для C#-разработчика в одном канале. Наши курсы: https://clc.to/y3LDtw По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Created23 November 2018measured — cross-checked against a third-party dataset (ext.tg_channel)
First recorded6 August 2026
Last confirmed live21 August 2026
Measurements held14
Confirmed unchanged2 times, most recently 21 August 2026
On Telegramt.me/csharpproglib

Growth

21,71521,73321,7246 August 2026 — 21,725 subscribers6 August 2026 — 21,727 subscribers7 August 2026 — 21,729 subscribers8 August 2026 — 21,731 subscribers9 August 2026 — 21,729 subscribers10 August 2026 — 21,733 subscribers11 August 2026 — 21,725 subscribers12 August 2026 — 21,727 subscribers13 August 2026 — 21,717 subscribers14 August 2026 — 21,720 subscribers17 August 2026 — 21,722 subscribers18 August 2026 — 21,721 subscribers19 August 2026 — 21,719 subscribers20 August 2026 — 21,715 subscribers6 August 202620 August 2026
14 measurements spanning 14 days, net -10. Dots are measurements; the straight line between them is drawn to join them, not to claim we know the path taken in between — snapshots are recorded only when a count changes, so gaps mean “no change observed”, never “interpolated”. The vertical axis spans 21,712–21,736 and does not start at zero.
Measurement log — every subscribers count we have recorded
Measured (UTC)SubscribersChange
20 Aug 2026, 16:2221,715-4
19 Aug 2026, 16:5321,719-2
18 Aug 2026, 18:0321,721-1
17 Aug 2026, 16:5821,722+2
14 Aug 2026, 23:5521,720+3
13 Aug 2026, 16:0721,717-10
12 Aug 2026, 15:1421,727+2
11 Aug 2026, 15:5621,725-8
10 Aug 2026, 12:2721,733+4
9 Aug 2026, 12:3121,729-2
8 Aug 2026, 10:2221,731+2
7 Aug 2026, 12:1121,729+2
6 Aug 2026, 14:3021,727+2
6 Aug 2026, 06:5121,725first reading

Engagement

36 posts held, back to 22 July 2026the reader has not yet reached the start of this channel’s public history, so older posts may sit further back, unread. Read across 34 pagesof Telegram’s post history, 20 posts per page.

ERR · 30 days
14.5%
avg views ÷ 21,715 subscribers
Avg views / post
3,150
33 posts measured
Reaction rate
0.895%
reactions ÷ views · ER floor
Posts in window
33
of 36 held

ERR is average views per post over the last 30 days divided by subscribers, the definition TGStat uses, so this figure is comparable with the one you will see elsewhere. It falls structurally as a channel grows: a high ERR on a small channel and a low one on a large channel describe reach mathematics, not quality. We publish the figure and the sample it came from and pass no verdict on it.

ER is defined industry-wide as (forwards + reactions + comments) ÷ views— note the denominator is views, not subscribers. Telegram’s public web preview carries views and reactions but not forward or comment counts, so the reaction rate above is the reactions term only and is therefore a floor: the true ER for this channel is higher by an amount we have not measured and will not estimate. It is computed over the 32 of 33 measured posts that carry a reaction reading, and over those same posts' views.

What these figures were computed from
WindowRolling 30 days · latest post in window 21 August 2026
Posts held36 (22 July 202621 August 2026)
Views total103,990
Reactions total903
Forwards / commentsnot exposed by the public surface — not measured, not estimated
Readings taken22 Aug 2026, 08:58 UTC

Views are a single reading per post, taken at the time above. A post published in the last day or two is still accumulating views, which pulls the 30-day average down slightly. That is a property of the standard definition rather than a fault in it, so we keep the definition rather than “correcting” the number into something nobody can reproduce.

Precision. Telegram publishes view counts on its public widget in short form — 8.12K, 3.7M — so any reading at or above 1,000 reaches us rounded to three significant figures, and only counts below 1,000 are exact. Averages and rates derived from them are shown to the same precision rather than to the unit: a figure like 3,701,250 would assert digits nobody measured.

Reaction counts are published per emoji and rounded the same way, so a total below 1,000 is exact and a larger one is a sum that may carry a rounded component from each emoji above 1,000. Because it is a sum, it does not look rounded — read a large reaction total as three significant figures per contributing emoji rather than as the figure it prints.

What this channel posts

Photos
2,890
Videos
45
Links
5,340

Lifetime counters from Telegram’s own channel header, read 22 August 2026 — not the date at the top of this page, which is when the subscriber count was last read. A count marked was rounded by Telegram before we ever saw it — t.me prints these counters in full below 1,000 and to three significant figures above, so ≈142,000 means somewhere between 141,500 and 142,499.

Video runtime
14s
Average length
14s

Measured directly from 1 video with a duration reading, out of the posts we hold for this channel — not this channel’s whole posting history, only the sample this register has actually read. An exact reading to the second, taken from the post itself rather than from Telegram’s own rounded chrome, so it carries no mark.

Reaction mix

1,031 reactions across 33 posts, in 15 distinct kinds. The most used accounts for 33.4% of them.

Every reaction kind recorded on the sample, most used first
ReactionCountShareShare, drawn
👍34433.4%
👾27827.0%
🔥13713.3%
😁12612.2%
656.30%
🥱353.39%
🤩201.94%
👏80.776%
70.679%
🤔40.388%
🥰30.291%
❤‍🔥10.097%
💯10.097%
😍10.097%
😢10.097%

No sentiment is inferred, and none should be read in. This table is ordered by count and by nothing else. Emoji do not carry stable meaning across languages or communities — 🙏 is thanks in one channel and mourning in another — so we publish which ones were pressed and how often, and pass no judgement on what an audience meant by them.

Precision. Telegram publishes reaction counts per emoji and short-forms each one — 4.34K, 1.2M — so any single kind at or above 1,000 reaches us at three significant figures, and only counts below 1,000 are exact. The shares above are ratios of those figures and carry the same error. This is also why the total here can differ slightly from a reaction total printed elsewhere on the page: both are sums of the same rounded parts, taken over samples with different edges.

Coverage. Reactions were read on 35 of the 36 sampled posts in this sample. Summed by Telegram’s own count on each post — not by adding up the per-emoji breakdown above — those same posts carry 1,035reactions in total: the kind of figure the paragraph above means by “a reaction total printed elsewhere on the page”.

Measured over the 36 most recent posts we hold, published 22 July 2026 to 21 August 2026, using the newest reading held for each. Telegram Stars are excluded: they are a payment, not a reaction, and they have their own section.

Recent posts

21 Aug 2026, 12:02 UTC≈1,420 views22 reactionsread 22 August 2026
Photo

📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #garbage_collector

😁22

20 Aug 2026, 11:00 UTC≈2,170 views28 reactionsread 22 August 2026
Video

✅ Visual Studio умеет превращать JSON в C#-классы за пару кликов Не нужен онлайн-конвертер. Копируете JSON и в Visual Studio выбираете: Edit → Paste Special → Paste JSON As Classes IDE сама сгенерирует классы, включая вложенные объекты и массивы. Особенно удобно, когда нужно быстро разобраться с ответом незнакомого API или сделать DTO для прототипа. 💡 А после генерации уже стоит привести классы в порядок: переи

🤩17🥱11

19 Aug 2026, 11:02 UTC≈2,190 views6 reactionsread 22 August 2026
Photo

💡 Скрытые копии структур. Зачем нужны readonly struct и in Структуры передаются по значению — это знают все. Но копия может появиться и там, где её совсем не ожидаешь. Представьте структуру с обычным, не readonly, методом. Если она находится в readonly-контексте, например в readonly поле или приходит через in, компилятору приходится защищать значение от изменения. При вызове такого метода он может создать защитную к

4👍1🔥1

18 Aug 2026, 09:01 UTC≈2,340 views11 reactionsread 22 August 2026

🔖 Required + init: обязательные свойства без длинного конструктора Раньше обязательные свойства часто приходилось передавать через конструктор или проверять уже во время выполнения. 🔵 В C# 11 появился required: public class User { public required string Email { get; init; } public required string Name { get; init; } public int Age { get; init; } } 🔵 Теперь компилятор не позволит создать объект без об

7🔥3👏1

17 Aug 2026, 13:56 UTC≈2,650 views7 reactionsread 22 August 2026
Photo

🖍 NuGet сокращает зависимость от долгоживущих API-ключей NuGet продолжает ужесточать безопасность публикации пакетов. Один из главных шагов — переход от постоянных API-ключей к короткоживущим credentials через Trusted Publishing. Вместо хранения секрета в CI/CD workflow получает OIDC-токен, NuGet проверяет его и выдаёт временный API-ключ. Такой ключ действует около часа и затем становится недействительным. Для CI/

🤔4👍1🔥1😢1

14 Aug 2026, 10:04 UTC≈3,550 views8 reactionsread 22 August 2026

🤨 NativeAOT. Что значит скомпилировать .NET в нативный код заранее NativeAOT снова на слуху, потому что в .NET 11 Preview 7 его сделали режимом по умолчанию в CLI ради быстрого старта. Разберём, что это вообще такое и чем отличается от привычной модели. Обычно .NET работает так. Код на C# компилируется в промежуточный язык IL, а в нативные инструкции его переводит JIT уже во время запуска. Это гибко, но у первого з

4👍4

13 Aug 2026, 11:01 UTC≈3,590 views43 reactionsread 22 August 2026

🔖 Помеченные break и continue в C# 15. Выход из вложенных циклов без костылей Знакомая боль. Есть вложенные циклы, и из внутреннего нужно прервать или продолжить внешний. Обычный break выходит только из ближайшего цикла, поэтому приходилось заводить булев флаг и проверять его на каждом уровне, либо прыгать через goto. И то и другое замусоривает логику. В C# 15 у циклов появились метки, а break и continue научились

🔥36🥱43

12 Aug 2026, 16:02 UTC≈3,480 views53 reactionsread 22 August 2026
Photo

😬 Microsoft показала ещё один кусочек будущего .NET Вышел .NET 11 Preview 7. Апдейт затронул почти весь стек: C#, Runtime, SDK, ASP.NET Core, EF Core, MAUI, F# и Windows Forms. Главное изменение это перевод NativeAOT в режим по умолчанию в CLI ради заметно более быстрого старта приложений. Из языка подъехали фичи C# 15, среди них паттерны union и помеченные break и continue для управления вложенными циклами. В би

🔥45👍6🤩2

11 Aug 2026, 09:57 UTC≈3,230 views34 reactionsread 22 August 2026

👍 Современные помощники для валидации параметров Помните те времена, когда каждый метод начинался с целой простыни проверок входных параметров? Копипаста if (string.IsNullOrEmpty(...)) была ежедневной рутиной: public void ProcessUser(string name, string email, int age) { if (string.IsNullOrEmpty(name)) throw new ArgumentException("Value cannot be null or empty.", nameof(name)); if (string.IsNullOr

👍236👾4❤‍🔥1

10 Aug 2026, 12:05 UTC≈2,710 views11 reactionsread 22 August 2026
Photo

📌 Версии версионирования Какую систему нумерации версий предпочитаете и встречали ли экзотические варианты? Делитесь опытом👇 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #схема

👍11

9 Aug 2026, 10:26 UTC≈3,520 views11 reactionsread 22 August 2026

👨‍💻 Мгновенная валидация кода В стремительном темпе разработки важно улавливать ошибки сразу же после правки. Представьте, что можно запускать тесты каждый раз, когда вы сохраняете файл — без лишних кликов и ожидания. Команда дня: dotnet watch test --filter "Category=Unit» Эта команда активирует «наблюдение» за исходниками проекта и при каждом изменении автоматически запускает только те тесты, которые помечены

🔥92

8 Aug 2026, 11:04 UTC≈2,960 views31 reactionsread 22 August 2026
Photo

💎 Вспоминаем SOLID SOLID — это 5 принципов объектно-ориентированного проектирования. Давайте повторим эту базу. — Single Responsibility Principle (Принцип единственной ответственности) Каждый класс должен иметь только одну причину для изменения. Плохо: класс UserManager и сохраняет пользователя в БД, и отправляет email. Хорошо: UserRepository хранит, EmailService отправляет письма. — Open/Closed Principle (Принц

👍215🔥3👏1🥰1

Showing the 12 most recent of 36 posts we hold for @csharpproglib. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.

Posts edited after publishing

@csharpproglib edited 1 post after it first published — the same permalink now carries different wording than the one this register originally read, caught because our own crawl held a copy of the earlier text.

An edit is not deception. Typo fixes, price updates and corrections look exactly like this too — this register can tell you the wording changed and when, not why. How this is measured.

First edit seen
19 August 2026
Most recent edit
19 August 2026

Citation-graph rank

Citation-graph rank — 528,573 of 1,583,249entries in the measured graph. A weighted position computed from the forward and mention edges below — republished posts weigh more than named mentions — and recomputed periodically, over the whole graph. Published only as this ordinal position, never as a score: a position is a fact, and a score printed beside one channel’s name would read as a verdict this register does not make. The two counts beneath stay separate for the same reason mentions are never summed with forwards anywhere else on this page — a named-by count costs nothing to manufacture. The top 100 by this measure, or how it is computed.

Forward network

Republished by

Channels on the register that have forwarded this channel's posts into their own feed.

Built only from forwarded posts we have actually read, on both sides. Coverage is early and deliberately incomplete: a missing link means we have not read the post that would prove it, never that the relationship does not exist. Counts are distinct forwarded posts observed, so they only ever go up as we read more.

Mentions

Named by 6 registered channels — every channel on the register whose own posts have named this one, by its current username or any other username it currently holds, merged from two separately captured readings of the same fact so a namer caught by only one of them is not missed and a namer both caught is not counted twice. A username this channel has since dropped is not matched — that handle may belong to someone else now, and crediting today’s namer to yesterday’s owner would misattribute it.

A mention is a weaker signal than a forward and is counted separately for that reason — naming a channel is not republishing it, and a handle in a post body is easy to place deliberately. The post counts beside each row below are distinct posts in which the handle appeared, from posts we have read on both sides — the “Named by N registered channels” figure above is a different count, of distinct NAMING CHANNELS rather than posts, and is not the sum of the rows under it.

Appears in Telegram’s recommendations for other channels

The reverse of the list above, and a different kind of signal. This does not require this channel to have ever been asked about directly — each row below is a channel we DID ask Telegram about, whose Telegram-generated list happened to include this one. A channel can appear here with an empty list above it, because being named by someone else’s query is independent of having been queried itself.

Библиотека программиста
@proglibrary · 78,409
Telegram ranks this channel #7 of 82 here — alongside 81 others — read 19 August 2026
Типичный программист
@tproger · 78,711
Telegram ranks this channel #32 of 95 here — alongside 94 others — read 19 August 2026

This channel appears in 2 seed channels' Telegram-generated recommendation lists in total. Each is Telegram’s list for THAT channel, not this one — see how this is measured.

Cite this entry

A live page changes as we take new readings, so a citation should name the measurement it is based on, not just the URL. The line below cites the subscriber count as measured 20 August 2026 — this entry's latest reading, not the date you are reading this.

“Библиотека шарписта | C#, F#, .NET, ASP.NET” (@csharpproglib), 21,715 subscribers as measured 20 August 2026. Telegram Register, tgregister.com/channel/csharpproglib.

Full measurement history, CC BY 4.0. Every reading this register holds for this entry, not just the latest one, as a dated, downloadable record: CSV · JSON. Free to use with attribution to tgregister.com. Each file carries its own generation timestamp, which is the figure to cite for exactly when the data was retrieved.