Последние посты

C#Hive: Projects & Progress | Программирование
15 окт. 2025 г., 05:05
🖥 Кодовый замокИмеется кодовый замок, состоящий из 4 цифр. Требуется расшифровать код 🔐✅✅✅✅, пользуясь подсказками комбинаций ниже.4️⃣3️⃣8️⃣6️⃣ Одна цифра верна, но её расположение ошибочно.1️⃣4️⃣5️⃣7️⃣ Две цифры верны, но их расположение ошибочно.6️⃣3️⃣0️⃣1️⃣ Одна цифра верна, её расположение


C#Hive: Projects & Progress | Программирование
13 окт. 2025 г., 05:03

C#Hive: Projects & Progress | Программирование
13 окт. 2025 г., 05:03
#Опрос


C#Hive: Projects & Progress | Программирование
11 окт. 2025 г., 04:59
🖥 Функциональное внедрение через Ambient ContextПродолжаем разбор прошлой темы.Можно выделить три способа для внедрения зависимости в объект: 1. Constructor Injection. Зависимости передаются классу через его конструктор; 2. Property Injection. Зависимости передаются классу через публичные свойства после создания объекта. Способ предоставляет необязательные зависимости и позволяет менять их во время выполнения без создания новых экземпляров; 3. Method Injection. Зависимость вводится в метод, который будет её использовать.Идея же Ambient Context заключается в создании публичного статического свойства или метода, предоставляющих экземпляр объекта определённого типа и доступного любому объекту в приложении. Паттерн позволяет предоставлять зависимости функциям, не передавая их явно в качестве параметров. Он особенно полезен для обработки сквозных задач
C#Hive: Projects & Progress | Программирование
9 окт. 2025 г., 14:59
Решение задачи к посту.int MajorityElement(int[] items) { var hashtable = new Hashtable();for (int i = 0; i < items.Length; i++) { int item = items[i]; hashtable[item] = hashtable.ContainsKey(item) ? (int)hashtable[item] + 1 : hashtable[item] = 1; if ((int)hashtable[item] > items.Length / 2) return item; }return -1; }#Задача #Решение #Полезно
C#Hive: Projects & Progress | Программирование
9 окт. 2025 г., 04:59
🖥 Задача: алгоритм большинства голосов (⭐️)Написать метод, который принимает массив размером N, находит мажорирующий элемент (который встречается более N/2 раз) и возвращает его. Допускается только один проход по массиву, чтобы определить элемент большинства. Ниже приведены примеры.int[] array = { 2, 12, 2, 2, 2, 4, 2 }; MajorityElement(array); 👉 2int[] array = { 3, 3, 4, 2, 4, 4, 2, 4, 4 }; MajorityElement(array); 👉 4int[] array = { 5, 5, 7, 7, 9, 9 }; MajorityElement(array); 👉 -1int[] array = { 4, 3, 4 }; MajorityElement(array); 👉 4
C#Hive: Projects & Progress | Программирование
29 сент. 2025 г., 04:59
🖥 Внедрение зависимостейDependency injection (DI), или внедрение зависимостей, представляет механизм, который позволяет сделать компоненты программы слабосвязанными, а всю программу в целом более гибкой, более адаптируемой и расширяемой.В центре подобного механизма находится зависимость, то есть некоторая сущность, от которой зависит другая сущность. Например: var logger = new Logger(); logger.Print("Hello world!");public class Logger { private readonly DefaultLogService logService = new DefaultLogService();public void Print(string message) => logService.Write(quot;[{DateTime.Now}] {message}"); }public class DefaultLogService { public void Write(string message) => Console.WriteLine(message); }


C#Hive: Projects & Progress | Программирование
27 сент. 2025 г., 04:59

C#Hive: Projects & Progress | Программирование
27 сент. 2025 г., 04:59
#Опрос


C#Hive: Projects & Progress | Программирование
25 сент. 2025 г., 05:03
#Юмор


C#Hive: Projects & Progress | Программирование
23 сент. 2025 г., 15:03
Решение задачи к посту.int BinaryGCD(int a, int b) { int k = 1;while (a != 0 && b != 0) { while (a % 2 == 0 && b % 2 == 0) { a /= 2; b /= 2; k = 2; }while (a % 2 == 0) a /= 2; while (b % 2 == 0) b /= 2;if (a >= b) a -= b; else b -= a;
C#Hive: Projects & Progress | Программирование
23 сент. 2025 г., 05:03
🖥 Задача: бинарный алгоритм вычисления НОД (⭐️)Написать метод, который реализует нахождение наибольшего общего делителя (НОД) между двумя значениями, используя бинарный алгоритм, и возвращает результат. Ниже приведены примеры.BinaryGCD(a: 24, b: 18); 👉 6BinaryGCD(223744, 300181); 👉 19BinaryGCD(148764, 10308); 👉 12BinaryGCD(808, 1212); 👉 404BinaryGCD(111, 17); 👉 1Пишите варианты в комментариях. Решение будет сегодня вечером новым постом в канале.
C#Hive: Projects & Progress | Программирование
13 сент. 2025 г., 04:59
🖥 Ключевые слова checked и uncheckedИмеется средство, связанное с генерированием исключений, возникающих при переполнении в арифметических вычислениях. Как известно, результаты некоторых видов арифметических вычислений могут превышать диапазон представления чисел для типа данных, используемого в вычислении. В этом случае происходит так называемое переполнение.Допускается указывать, будет ли в коде генерироваться исключение при переполнении, с помощью ключевых слов checked и unchecked. Так, если требуется указать, что выражение будет проверяться на переполнение, следует использовать ключевое слово checked, а если требуется проигнорировать переполнение — ключевое слово unchecked. В последнем случае результат усекается, чтобы не выйти за пределы диапазона представления чисел для целевого типа выражения.У ключевого слова checked имеются две общие
C#Hive: Projects & Progress | Программирование
11 сент. 2025 г., 04:59

C#Hive: Projects & Progress | Программирование
11 сент. 2025 г., 04:59
#Опрос


C#Hive: Projects & Progress | Программирование
9 сент. 2025 г., 04:59
🖥 Атрибут CallerArgumentExpressionАтрибут может быть использован для того, чтобы указать компилятору на необходимость захвата строкового представления выражения аргумента, переданного методу. Например: using System.Runtime.CompilerServices;void Function( int value1, TimeSpan value2, [CallerArgumentExpression("value1")] string? expression1 = null, [CallerArgumentExpression("value2")] string? expression2 = null) { Console.WriteLine(quot;{expression1} = {value1}"); Console.WriteLine(quot;{expression2} = {value2}"); }Нас интересует вызов вышеобъявленной функции: int myInt = 42; TimeSpan myTime = TimeSpan.Zero; Function(myInt, myTime);


C#Hive: Projects & Progress | Программирование
7 сент. 2025 г., 14:59
Решение задачи к посту.public class KnapsackProblem { public Item[] Items { get; } public int MaxWeight { get; } public Backpack BestBackpack { get; }private KnapsackProblem(Item[] items, int maxWeight) { Items = items; MaxWeight = maxWeight; BestBackpack = GetBestBackpack(); }public static KnapsackProblem Solve(Item[] items, int maxWeight) { if (items == null) throw new ArgumentNullException(nameof(items)); if (items.Length < 1) throw new ArgumentOutOfRangeException(nameof(items)); if (maxWeight < 0) throw new ArgumentOutOfRangeException(nameof(maxWeight));
C#Hive: Projects & Progress | Программирование
7 сент. 2025 г., 04:59
🖥 Задача: проблема рюкзака (⭐️⭐️)Дано два класса: public class Item { public string Name { get; } public int Weight { get; } public int Price { get; }public Item(string name, int weight, int price) { Name = string.IsNullOrWhiteSpace(name) ? throw new ArgumentNullException(nameof(name)) : name; Weight = weight < 0 ? throw new ArgumentOutOfRangeException(nameof(weight)) : weight; Price = price < 0 ? throw new ArgumentOutOfRangeException(nameof(price)) : price; }public override string ToString() => Name; }public class Backpack
C#Hive: Projects & Progress | Программирование
28 авг. 2025 г., 04:59
🖥 Упрощаем код с global usingЕсли мы хотим использовать какое-нибудь пространство имён в файлах кода в проекте, то по умолчанию нам надо его подключать во все файлы, где мы планируем его использовать.➡️ Допустим, у нас три файла с кодом Файл Car.cs с классом Car и интерфейсом IVehicle, всё в пространстве Vehicles: namespace Vehicles;public class Car : IVehicle { public string Brand { get; } public string Model { get; } public int Year { get; }public Car(string brand, string model, int year) { Brand = brand; Model = model; Year = year; }


C#Hive: Projects & Progress | Программирование
26 авг. 2025 г., 04:59
