gram news
C#Hive: Projects & Progress | Программирование channel avatar

C#Hive: Projects & Progress | Программирование

@csharphive

Сообщество единомышленников C#: решаем задачи, учимся, развиваемся и общаемся вместе. Советы по работе на фрилансе, готовые проекты, код ревью, рекомендации и исследования. Вопросы/сотрудничество: @tel_phil9

ProjectsRUProgramming

1,620subscribers

Open the Channel

Latest posts

  • C#Hive: Projects & Progress | Программирование

    15 Oct 2025, 05:05

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

    13 Oct 2025, 05:03

  • C#Hive: Projects & Progress | Программирование

    13 Oct 2025, 05:03

    #Опрос
    Image from a post by C#Hive: Projects & Progress | ПрограммированиеImage from a post by C#Hive: Projects & Progress | Программирование
    1,08011Open in Telegram
  • C#Hive: Projects & Progress | Программирование

    11 Oct 2025, 04:59

    🖥 Функциональное внедрение через Ambient ContextПродолжаем разбор прошлой темы.Можно выделить три способа для внедрения зависимости в объект: 1. Constructor Injection. Зависимости передаются классу через его конструктор; 2. Property Injection. Зависимости передаются классу через публичные свойства после создания объекта. Способ предоставляет необязательные зависимости и позволяет менять их во время выполнения без создания новых экземпляров; 3. Method Injection. Зависимость вводится в метод, который будет её использовать.Идея же Ambient Context заключается в создании публичного статического свойства или метода, предоставляющих экземпляр объекта определённого типа и доступного любому объекту в приложении. Паттерн позволяет предоставлять зависимости функциям, не передавая их явно в качестве параметров. Он особенно полезен для обработки сквозных задач
    1,07011Open in Telegram
  • C#Hive: Projects & Progress | Программирование

    9 Oct 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 Oct 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 Sept 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); }
    Image from a post by C#Hive: Projects & Progress | ПрограммированиеImage from a post by C#Hive: Projects & Progress | Программирование
    67721Open in Telegram
  • C#Hive: Projects & Progress | Программирование

    27 Sept 2025, 04:59

  • C#Hive: Projects & Progress | Программирование

    27 Sept 2025, 04:59

    #Опрос
    Image from a post by C#Hive: Projects & Progress | ПрограммированиеImage from a post by C#Hive: Projects & Progress | Программирование
  • C#Hive: Projects & Progress | Программирование

    25 Sept 2025, 05:03

    #Юмор
    Image from a post by C#Hive: Projects & Progress | ПрограммированиеImage from a post by C#Hive: Projects & Progress | Программирование
    668811Open in Telegram
  • C#Hive: Projects & Progress | Программирование

    23 Sept 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;
    64931Open in Telegram
  • C#Hive: Projects & Progress | Программирование

    23 Sept 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 Sept 2025, 04:59

    🖥 Ключевые слова checked и uncheckedИмеется средство, связанное с генерированием исключений, возникающих при переполнении в арифметических вычислениях. Как известно, результаты некоторых видов арифметических вычислений могут превышать диапазон представления чисел для типа данных, используемого в вычислении. В этом случае происходит так называемое переполнение.Допускается указывать, будет ли в коде генерироваться исключение при переполнении, с помощью ключевых слов checked и unchecked. Так, если требуется указать, что выражение будет проверяться на переполнение, следует использовать ключевое слово checked, а если требуется проигнорировать переполнение — ключевое слово unchecked. В последнем случае результат усекается, чтобы не выйти за пределы диапазона представления чисел для целевого типа выражения.У ключевого слова checked имеются две общие
    74221Open in Telegram
  • C#Hive: Projects & Progress | Программирование

    11 Sept 2025, 04:59

  • C#Hive: Projects & Progress | Программирование

    11 Sept 2025, 04:59

    #Опрос
    Image from a post by C#Hive: Projects & Progress | ПрограммированиеImage from a post by C#Hive: Projects & Progress | Программирование
  • C#Hive: Projects & Progress | Программирование

    9 Sept 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);
    Image from a post by C#Hive: Projects & Progress | ПрограммированиеImage from a post by C#Hive: Projects & Progress | Программирование
  • C#Hive: Projects & Progress | Программирование

    7 Sept 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 Sept 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 Aug 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; }
    Image from a post by C#Hive: Projects & Progress | ПрограммированиеImage from a post by C#Hive: Projects & Progress | Программирование
  • C#Hive: Projects & Progress | Программирование

    26 Aug 2025, 04:59

    615poll5Open in Telegram