Библиотека шарписта | C#, F#, .NET, ASP.NET
Все самое полезное для C#-разработчика в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Mostrar más📈 Análisis del canal de Telegram Библиотека шарписта | C#, F#, .NET, ASP.NET
El canal Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 21 861 suscriptores, ocupando la posición 6 194 en la categoría Tecnologías y Aplicaciones y el puesto 30 800 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 21 861 suscriptores.
Según los últimos datos del 13 junio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -49, y en las últimas 24 horas de -3, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 12.71%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 7.49% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 2 778 visualizaciones. En el primer día suele acumular 1 638 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 9.
- Intereses temáticos: El contenido se centra en temas clave como .net, шарписта, навигация, await, string.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Все самое полезное для C#-разработчика в одном канале.
Как запустить своего ии-агента: https://clc.to/tvpmDQ
По рекламе: @proglib_adv
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 14 junio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
await важное без блокирующего Thread.Sleep(). Без null, без boxing, только актуальные штуки
🆕 .NET 10 Preview 2
Microsoft продолжает двигать .NET вперёд, и второй превью-релиз 10-й версии включает пачку обновлений во всех уголках платформы — от ядра до UI и облаков.
🧪 Microsoft обновили MSTest
Там не просто косметические апдейты. В этом релизе добавлено множество реально полезных фич, о которых просили разработчики.
🆕 MultiGit в Visual Studio
Теперь Visual Studio официально поддерживает работу с несколькими GitHub-аккаунтами.
📝 Visual Studio теперь сам пишет комментарии
🎮 Оптимизация памяти в Unity: как избежать лагов и повысить FPS в играх
🐸Библиотека шарписта #свежакforeach (int x in 5)
Console.Write($"{x} ");
// Вывод: 1 2 3 4 5
foreach (var n in 42..46)
Console.Write($"{n} ");
// Вывод: 42 43 44 45 46
Для этого достаточно добавить расширение метода GetEnumerator:
public static class Extensions
{
public static IEnumerator<int> GetEnumerator(this int x)
=> Enumerable.Range(1, x).GetEnumerator();
public static IEnumerator<int> GetEnumerator(this Range range)
=> Enumerable.Range(range.Start.Value, range.End.Value - range.Start.Value + 1).GetEnumerator();
}
💬 Уже использовали в работе или всё ещё балуетесь обычными циклами?
🐸Библиотека шарписта #бустforeach (int x in 5)
Console.Write($"{x} ");
// Вывод: 1 2 3 4 5
foreach (var n in 42..46)
Console.Write($"{n} ");
// Вывод: 42 43 44 45 46
Для этого достаточно добавить
🐸Библиотека шарписта #бустОдной из моих первых фичей была отправка письма по шаблону. Отправку реализовал — с этим проблем не возникло. Добавил логирование, чтобы отслеживать какие письма кому идут. Так случилось, что на тестирование подзабили, потому что письма на тестовой среде не отправлялись. Вывели это в прод и оказалось, что ошибся в форматировании строки в логах... IDE как-то упустила этот момент, а мне зелёному хотелось поскорее увидеть плоды своего творения. В тот же день я и повёз свой первый хотфикс.🐸Библиотека шарписта #междусобойчик
I want you to act as a regex generator. Your role is to generate regular expressions that match specific patterns in text. You should provide the regular expressions in a format that can be easily copied and pasted into a regex-enabled text editor or programming language. Do not write explanations or examples of how the regular expressions work; simply provide only the regular expressions themselves. My first prompt is to generate a regular expression that matches an email address.В этом примере будет сгенерировано выражение, для матчинга email-адресов. 💬 Часто пишете регулярки? Делитесь в комментариях! 🚀 🐸Библиотека шарписта #буст
var collection = new BlockingCollection<int>();
// Поток-поставщик (Producer)
Task.Run(() =>
{
for (int i = 0; i < 10; i++)
{
collection.Add(i);
Console.WriteLine($"Производитель: добавил {i}");
Thread.Sleep(500);
}
collection.CompleteAdding();
});
// Поток-потребитель (Consumer)
Task.Run(() =>
{
foreach (var item in collection.GetConsumingEnumerable())
{
Console.WriteLine($"Потребитель: получил {item}");
}
}).Wait();
2️⃣ Использование TaskCompletionSource<T>
Когда нужно передать значение между потоками в будущем.
var tcs = new TaskCompletionSource<int>();
// Поток-поставщик
Task.Run(() =>
{
Thread.Sleep(2000);
tcs.SetResult(42);
});
// Поток-потребитель
int result = await tcs.Task;
Console.WriteLine($"Получено: {result}");
3️⃣ Использование ConcurrentQueue<T>
Если нужно неблокирующее хранилище данных.
var queue = new ConcurrentQueue<int>();
// Поток-поставщик
Task.Run(() =>
{
for (int i = 0; i < 10; i++)
{
queue.Enqueue(i);
Console.WriteLine($"Добавлено {i}");
Thread.Sleep(500);
}
});
// Поток-потребитель
Task.Run(() =>
{
while (true)
{
if (queue.TryDequeue(out int item))
{
Console.WriteLine($"Получено {item}");
}
Thread.Sleep(100);
}
}).Wait();
4️⃣ Использование Channel<T> (System.Threading.Channels)
Альтернативный подход к BlockingCollection<T>
var channel = Channel.CreateUnbounded<int>();
// Поток-поставщик
_ = Task.Run(async () =>
{
for (int i = 0; i < 10; i++)
{
await channel.Writer.WriteAsync(i);
Console.WriteLine($"Производитель: {i}");
await Task.Delay(500);
}
channel.Writer.Complete();
});
// Поток-потребитель
await foreach (var item in channel.Reader.ReadAllAsync())
{
Console.WriteLine($"Потребитель: {item}");
}
💬 Какой вариант вам больше всего понравился?
🐸Библиотека шарписта #бустstr, которую нужно проанализировать.
2. Применяем метод Distinct() для получения уникальных символов в строке.
3. Вызываем метод Count() для получения количества элементов в последовательности уникальных символов.
4. Добавляем параметр char.IsLetter, чтобы учитывать только буквы алфавита.
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
