diff --git a/anbs_cp/Classes/ConsoleParamsParser.cs b/anbs_cp/Classes/ConsoleParamsParser.cs
new file mode 100644
index 0000000..e7ff481
--- /dev/null
+++ b/anbs_cp/Classes/ConsoleParamsParser.cs
@@ -0,0 +1,61 @@
+namespace anbs_cp.Classes;
+
+///
+/// Обработчик параметров консоли
+///
+public sealed class ConsoleParamsParser
+{
+ ///
+ /// Массив параметров
+ ///
+ private readonly List<(string, string?)> _paramsList;
+
+ ///
+ /// Конструктор
+ ///
+ /// Параметры консоли
+ public ConsoleParamsParser (string[] consoleParams)
+ {
+ //Создаю список параметров
+ _paramsList = new();
+
+ //Заполняю его
+ foreach (string consoleParam in consoleParams)
+ {
+ //Индекс знака "="
+ int eqPlace = consoleParam.IndexOf('=');
+
+ //Получаю параметр
+ string param = eqPlace > -1 ? consoleParam[..eqPlace] : consoleParam;
+
+ //Получаю значение параметра
+ string? value = eqPlace == -1 ? null : consoleParam[(eqPlace + 1)..].Trim(new[] { '"' });
+
+ //Сохраняю в списке
+ _paramsList.Add((param, value));
+ }
+ }
+
+ ///
+ /// Проверяет наличие параметра
+ ///
+ /// Параметр
+ /// Есть ли параметр в списке
+ public bool HasParam (string param) =>
+ _paramsList.Any(keyValue => keyValue.Item1 == param);
+
+ ///
+ /// Получает значение параметра
+ ///
+ ///
+ ///
+ public string? GetValue (string param) =>
+ !HasParam(param) ? null : _paramsList.FirstOrDefault(keyValue => keyValue.Item1 == param).Item2;
+
+ ///
+ /// Получает список всех параметров
+ ///
+ /// Список всех параметров
+ public List GetParamsList () =>
+ _paramsList.Select(static keyValue => keyValue.Item1).ToList();
+}
\ No newline at end of file
diff --git a/anbs_cp/anbs_cp.csproj b/anbs_cp/anbs_cp.csproj
index 9b03e5b..ceeed7b 100644
--- a/anbs_cp/anbs_cp.csproj
+++ b/anbs_cp/anbs_cp.csproj
@@ -2,7 +2,7 @@
net7.0
- 2023.212.0
+ 2023.409.0
Alexander Babaev
ANB Software Components Pack
Library of some useful functions in C# language.
@@ -40,9 +40,9 @@
-
+
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive