Карта сайта
Здесь перечислены все разделы и рубрики блога, чтобы можно было быстро найти нужную тему. Материалы собраны в две большие группы: обучение языку C# и платформе .NET, а также алгоритмы и структуры данных.
Откройте рубрику, которая вам нужна, и выберите статью из списка. Служебные страницы, в том числе контакты, политика конфиденциальности и условия использования, перечислены в конце, а при желании предложить тему или сообщить об ошибке пишите на admin@cisharp.vip.
Алгоритмы и структуры данных
Сортировка, поиск, списки, стеки, деревья, численные методы, шифры и системы счисления: алгоритмы на C# с пояснениями и оценкой сложности.
Сортировка
- QuickSort в C#: быстрая сортировка на практике
- Алгоритм сортировки пузырьком на C#
- Блинная сортировка (Pancake Sorting) в C#: 5 моментов
- Гномья сортировка на C#: алгоритм и реализация
- Сортировка Шелла на C#: принцип работы и реализация
- Сортировка выбором на C#: принцип работы и код
- Сортировка массива расчёской на C#
- Сортировка по частям в C#: 6 аспектов
- Сортировка подсчётом на C#: пошаговый разбор
- Сортировка с помощью бинарного дерева поиска в C#
- Сортировка слиянием на C#: 8 аспектов
- Шесть аспектов сортировки вставками в C#
- Эффективная шейкерная сортировка на C#
Поиск
- Бинарный поиск на C# с примерами
- Поиск наибольшей общей подстроки (LCS) на C#
- Последовательный поиск элементов в массиве на C#
- Реализация алгоритма Дейкстры на C#
Структуры данных
- Бинарные деревья в C#: код и разбор операций
- Очередь Queue<T> в C#: методы и примеры
- Словарь Dictionary в C#: полное руководство
- Список List<T> в C#: полное руководство
- Стек в C#: основы, примеры и практика
- Структура данных граф в C#
Численные методы
- Быстрый поиск делителей числа на C#
- Метод деления отрезка пополам в C#: бисекция
- Факторизация Ферма на C# для разложения чисел
- Численное интегрирование методом Симпсона на C#
- Численное интегрирование методом прямоугольников на C#
Шифрование
- Использование шифра XOR на C# от теории к практике
- Реализация шифра Атбаш на C# с примерами кода
- Реализация шифра Виженера на языке C#
- Реализация шифра Полибия на C# с примерами кода
- Шифр Скитала (Scytale) на C# по шагам
- Шифр Цезаря на C#: полное руководство
Системы счисления
- Десятичное число в троичную систему на C#
- Из двоичной системы в десятичную в C#
- Как перевести десятичное число в двоичное на C#
- Как перевести троичное число в десятичное на C#
Обучение
Бесплатные уроки по C# и .NET: от первых программ до ООП, LINQ и баз данных. Разбор ошибок, WinForms и WPF, инструменты разработчика.
Основы C#
- Ref, out и in в C#: передача по ссылке
- Static в C#: что нужно знать
- Try-catch в C#: перехват исключений
- Арифметические операторы в C#
- Ввод и вывод в консоль на C#
- Инкапсуляция в C#: примеры и пояснения
- Как возвести число в степень в C#
- Как написать первую программу на C#
- Как объявить переменную в C#: подробно
- Конструкторы в C# при наследовании классов
- Конструкторы и деструкторы классов в C#
- Логические операторы C#: четыре примера применения
- Массивы в C#: полный разбор
- Математические функции в C# (Си Шарп)
- Методы в C# простыми словами
- Методы в C#: пример простой программы
- Многомерные массивы в C# с примерами
- Модификаторы доступа в C#
- Наследование в C# простыми словами
- Нахождение факториала числа в C#
- Одномерные массивы в C# с примерами
- Оператор return в C# простыми словами
- Операторы выбора в C# на примерах
- Основные компоненты языка C#: обзор для новичков
- Основы языка C# для начинающих
- Переопределение методов в C#: virtual и override
- Перечисления enum в C#: объявление и работа
- Полиморфизм в C#: виды и примеры кода
- Приведение типов в C# с примерами
- Приоритет операторов в C#: таблица и примеры
- Работа с графикой в C#: простой пример
- Работа с классами в C#: шесть примеров
- Свойства get и set в C#
- Синус и косинус в C# для начинающих
- Строка в массив в C#: три способа
- Строки в C#: основные методы String
- Типы данных в C#
- Условный оператор if в C#
- Цикл for в C#: шесть примеров
- Цикл foreach в C#: руководство и 9 примеров
- Циклы while и do while в C#
Углублённое изучение
- LINQ в C#: примеры запросов к коллекциям
- Pattern matching и switch в C# с примерами
- Абстрактные классы в C# на примерах
- Агрегация в C#: примеры и аналогии
- Делегаты и события в C#: полное руководство
- Индексаторы в интерфейсах C#
- Интерфейсы в C#: как их реализовать на примерах
- Лямбда-выражения в C# с примерами
- Обобщения (generics) в C#: полное руководство
- Оператор goto в C# для начинающих
- Структуры struct в C#: от простого к сложному
- Табулирование функции одной переменной в C#
- Указатели в C# простыми словами
Ошибки и их решения
- Application.DoEvents() в C#: применение и риски
- Async и await в методе Main консольного приложения
- Async/await внутри Parallel.ForEach в C#
- Debug и Release сборки в C#: разница
- Generic-метод через Type в C#
- Generic-методы только для чисел в C#
- GetHashCode и Equals в C#: правила переопределения
- HTML-таблица в DataTable на C#
- Hex-строка в массив байтов в C#
- IEnumerable или IQueryable в C#
- IOException: файл занят другим процессом
- Include с условием Where в Entity Framework
- JSON в C#: массивы и отдельные элементы
- JSON с недопустимыми идентификаторами в C#
- MIME-тип файла по сигнатуре в C#
- NullReferenceException в C#: причины и исправление
- System.Type и обобщённые типы в C#
- Task или void в async-методах C#
- Unity API из другого потока и вызов в главном потоке
- Unix Timestamp в DateTime и обратно в C#
- [0-9] или \d в регулярных выражениях C#
- Асинхронные методы в синхронном контексте C#
- Асинхронный Parallel.ForEach с лямбда-выражениями
- Асинхронный ввод-вывод в C#: ограничение параллелизма
- Аутентификация в Active Directory с помощью C#
- Взаимная блокировка из-за task.Result в C#
- Взаимоблокировка в C#: await против Task.Wait
- Взаимодействие форм в Windows Forms на C#
- Возврат Task или async/await в C#
- Все возможные комбинации элементов в C#
- Все элементы одного типа в WPF на C#
- Выбор между decimal и double в C#
- Генерация случайных чисел в C#
- Глубокое клонирование объекта в C#
- Группировка по нескольким столбцам в C#
- Десериализация JSON в C# с примерами кода
- Десериализация JSON в C#: от простого к сложному
- Десериализация XML в C# по шагам
- Динамическая десериализация JSON в C# через Json.NET
- Динамическая компиляция кода в C#
- Динамический OrderBy в LINQ для коллекций в C#
- Директивы using в C#: где их размещать
- Доступ к элементам управления между страницами ASP.NET
- Естественная сортировка в C#: принцип и реализация
- Журнал ошибок загрузки сборок Fusion в .NET
- Запуск командной строки в C# и чтение вывода
- Запуск приложения с правами администратора в C#
- Захват переменных в циклах и замыканиях C#
- Защита от SQL-инъекций в C#: рекомендации
- Значение свойства через рефлексию в C#
- Значимые и ссылочные типы в C#: в чём разница
- Изменение элемента формы из другой формы в C#
- Исключения IndexOutOfRange и ArgumentOutOfRange в C#
- Как встроить DLL в EXE-файл в C#
- Как избежать deadlock при async/await в C#
- Как объединить два Expression в C#
- Как определить кодировку текстового файла в C#
- Как остановить BackgroundWorker при закрытии окна
- Как перевернуть строку в C# быстро
- Как передать данные между сценами в Unity
- Как передать массив в хранимую процедуру SQL Server
- Как перемешать список List в C# случайно
- Как получить DateTime из строки в C#
- Как получить имя свойства из лямбды в C#
- Как получить путь к exe-файлу приложения в C#
- Как проверить, открыт ли файл в C#
- Как работает сборщик мусора в .NET
- Как разделить список на подсписки в C# через LINQ
- Как синхронно выполнить асинхронный Task в C#
- Как узнать путь к сборке приложения на C#
- Как читать и разбирать XML-файлы в C#
- Класс или структура в C#: как выбрать
- Классы C# из JSON: генерация и ручное создание
- Ключевое слово this в C#: как оно работает
- Копирование одного потока в другой в C#
- Лучшие профилировщики для .NET приложений
- Массив байтов и HEX-строка в C#: преобразование
- Массив байтов из потока (Stream) в C#
- Метод Contains в C# без учёта регистра
- Несколько значений из метода в C#
- Неявная типизация в C#: ключевое слово var
- Обновление GUI из фонового потока в C#
- Обработка CSV-файлов в C#: техники и советы
- Объект C# в JSON-строку: сериализация в .NET
- Один DbContext на запрос в веб-приложении
- Опасности изменяемых структур в C#
- Оператор as и явное приведение типов в C#
- Определение вызывающего метода в C#: руководство
- Освобождение ресурсов Excel Interop в C#
- Отправка HTTP POST запросов в .NET на C#
- Отправка e-mail через Gmail SMTP в C#
- Отправка писем через Gmail в C# и .NET
- Ошибка CS0120 в C#: нестатический член класса
- Параметризованные запросы против SQL-инъекций в C#
- Парсинг HTML в C#: выбор библиотеки и примеры
- Паттерн MVVM в C#: подробное руководство
- Передача данных между формами в C#
- Переиспользование переменной в цикле foreach в C#
- Переменные, объекты и ссылки в C#: различия
- Поиск минимума и максимума по свойству в LINQ
- Поиск элементов управления по типу в WinForms
- Полное руководство по клонированию объектов в C#
- Получение свойств объекта в C# через рефлексию
- Почему Thread.Abort в C# лучше не использовать
- Почему вещественные числа в C# неточны
- Почему не нужно наследоваться от List<T> в C#
- Почему целочисленное деление в C# не возвращает float
- Преобразование JSON в dynamic-объекты в C#
- Преобразование List производного класса в List базового
- Преобразование номера столбца Excel в буквы на C#
- Преобразование строки в int в C#: способы и ошибки
- Проблемы с привязкой DependencyProperty в WPF
- Работа с FormData в ASP.NET MVC на C#
- Различия между String и string в C#
- Расчёт точного возраста в C# с помощью DateTime
- Реализация INotifyPropertyChanged в C# без лишнего кода
- Сколько раз символ встречается в строке C#
- Создание сущности в запросе LINQ to Entities
- Сортировка List по свойствам в C#
- Список чекбоксов в C#: передача и обработка данных
- Строка в DateTime в C#: способы преобразования
- Строка в байты в C# без указания кодировки
- Строка в перечисление enum в C#
- Таймаут для асинхронных задач в C#
- Форматирование десятичных чисел с 2 знаками в C#
- Функция как параметр метода в C#: делегаты и лямбды
- Чем отличается i++ от ++i в C#
- Чем плох lock(this) в C# и чем его заменить
- Явная и неявная реализация интерфейсов в C#
GUI и визуальные компоненты
- CheckBox в C#: как пользоваться флажком в WinForms
- ComboBox в C# WinForms: руководство
- RichTextBox в C#: разбор и примеры
- Градиент в C# через GDI+
- Диалоговое окно MessageBox в C# Windows Forms
- Как показать число в TextBox в C# и считать обратно
- Переключатели RadioButton в C# на примерах
- Разработка оконных приложений на C#
Данные и базы данных
- Добавление строки в DataGridView на C#
- Новый столбец в DataGridView на C#
- Работа с Excel в C#: библиотеки и примеры
- Работа с файлами в C#: полное руководство
- Регулярные выражения (Regex) в C#