Recap - HashMap
Часть раздела Логика и управление потоком путешествия по C# на Coddy — урок 51 из 66.
Задание
ЛегкоСоздайте метод с именем ProcessDictionary, который принимает Dictionary<string, int> и массив операций в качестве параметров. Метод должен выполнять следующие операции:
- Если операция — "GET key", выведите значение для этого ключа или "Not found", если ключ не существует
- Если операция — "CHECK key", выведите "Exists", если ключ существует, иначе выведите "Not found"
- Если операция — "MODIFY key value", выполните следующее:
- Если ключ существует и имеет то же значение, что и предоставленное, увеличьте его значение на 1
- Если ключ существует, но имеет другое значение, удалите ключ
- Если ключ не существует, добавьте его с предоставленным значением
Верните обновленный Dictionary после обработки всех операций.
Попробуйте сами
using System;
using System.Collections.Generic;
class Program
{
public static Dictionary<string, int> ProcessDictionary(Dictionary<string, int> data, string[] operations)
{
// Напишите свой код здесь
}
static void Main(string[] args)
{
// Инициализируем словарь с некоторыми данными
Dictionary<string, int> data = new Dictionary<string, int>
{
{ "Apple", 10 },
{ "Banana", 5 },
{ "Orange", 7 }
};
// Пример операций
string[] operations = new string[]
{
"GET Apple",
"CHECK Mango",
"MODIFY Banana 5",
"MODIFY Orange 8",
"MODIFY Mango 3"
};
Dictionary<string, int> result = ProcessDictionary(data, operations);
// Выводим результат
Console.WriteLine("Updated Dictionary:");
foreach (var item in result)
{
Console.WriteLine($"{item.Key}: {item.Value}");
}
}
}Все уроки раздела Логика и управление потоком
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety9HashMap Part 1
What is a HashMap?Declare a HashMapCheck If Key ExistsAccessing ValuesModifying DictionariesRecap - HashMap