From 6c8c81d5337fbf06040bbc1d601aa91403e9774a Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Sun, 14 Apr 2024 19:25:25 +0400 Subject: [PATCH 01/15] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjectContainerShip/.editorconfig | 231 ++++++++++++++++++ .../MassiveGenericObjects.cs | 11 +- .../FormShipConfig.Designer.cs | 39 +++ .../ProjectContainerShip/FormShipConfig.cs | 20 ++ .../ProjectContainerShip/FormShipConfig.resx | 120 +++++++++ 5 files changed, 412 insertions(+), 9 deletions(-) create mode 100644 ProjectContainerShip/.editorconfig create mode 100644 ProjectContainerShip/ProjectContainerShip/FormShipConfig.Designer.cs create mode 100644 ProjectContainerShip/ProjectContainerShip/FormShipConfig.cs create mode 100644 ProjectContainerShip/ProjectContainerShip/FormShipConfig.resx diff --git a/ProjectContainerShip/.editorconfig b/ProjectContainerShip/.editorconfig new file mode 100644 index 0000000..e0c1b90 --- /dev/null +++ b/ProjectContainerShip/.editorconfig @@ -0,0 +1,231 @@ +# Удалите строку ниже, если вы хотите наследовать параметры .editorconfig из каталогов, расположенных выше в иерархии +root = true + +# Файлы C# +[*.cs] + +#### Основные параметры EditorConfig #### + +# Отступы и интервалы +indent_size = 4 +indent_style = space +tab_width = 4 + +# Предпочтения для новых строк +end_of_line = crlf +insert_final_newline = false + +#### Рекомендации по написанию кода .NET #### + +# Упорядочение Using +dotnet_separate_import_directive_groups = false +dotnet_sort_system_directives_first = false +file_header_template = unset + +# Предпочтения для this. и Me. +dotnet_style_qualification_for_event = false +dotnet_style_qualification_for_field = false +dotnet_style_qualification_for_method = false +dotnet_style_qualification_for_property = false + +# Параметры использования ключевых слов языка и типов BCL +dotnet_style_predefined_type_for_locals_parameters_members = true +dotnet_style_predefined_type_for_member_access = true + +# Предпочтения для скобок +dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity +dotnet_style_parentheses_in_other_operators = never_if_unnecessary +dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity + +# Предпочтения модификатора +dotnet_style_require_accessibility_modifiers = for_non_interface_members + +# Выражения уровень предпочтения +dotnet_style_coalesce_expression = true +dotnet_style_collection_initializer = true +dotnet_style_explicit_tuple_names = true +dotnet_style_namespace_match_folder = true +dotnet_style_null_propagation = true +dotnet_style_object_initializer = true +dotnet_style_operator_placement_when_wrapping = beginning_of_line +dotnet_style_prefer_auto_properties = true +dotnet_style_prefer_collection_expression = when_types_loosely_match +dotnet_style_prefer_compound_assignment = true +dotnet_style_prefer_conditional_expression_over_assignment = true +dotnet_style_prefer_conditional_expression_over_return = true +dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_typed +dotnet_style_prefer_inferred_anonymous_type_member_names = true +dotnet_style_prefer_inferred_tuple_names = true +dotnet_style_prefer_is_null_check_over_reference_equality_method = true +dotnet_style_prefer_simplified_boolean_expressions = true +dotnet_style_prefer_simplified_interpolation = true + +# Предпочтения для полей +dotnet_style_readonly_field = true + +# Настройки параметров +dotnet_code_quality_unused_parameters = all + +# Параметры подавления +dotnet_remove_unnecessary_suppression_exclusions = none + +# Предпочтения для новых строк +dotnet_style_allow_multiple_blank_lines_experimental = true +dotnet_style_allow_statement_immediately_after_block_experimental = true + +#### Рекомендации по написанию кода C# #### + +# Предпочтения var +csharp_style_var_elsewhere = false +csharp_style_var_for_built_in_types = false +csharp_style_var_when_type_is_apparent = false + +# Члены, заданные выражениями +csharp_style_expression_bodied_accessors = true +csharp_style_expression_bodied_constructors = false +csharp_style_expression_bodied_indexers = true +csharp_style_expression_bodied_lambdas = true +csharp_style_expression_bodied_local_functions = false +csharp_style_expression_bodied_methods = false +csharp_style_expression_bodied_operators = false +csharp_style_expression_bodied_properties = true + +# Настройки соответствия шаблонов +csharp_style_pattern_matching_over_as_with_null_check = true +csharp_style_pattern_matching_over_is_with_cast_check = true +csharp_style_prefer_extended_property_pattern = true +csharp_style_prefer_not_pattern = true +csharp_style_prefer_pattern_matching = true +csharp_style_prefer_switch_expression = true + +# Настройки проверки на null +csharp_style_conditional_delegate_call = true + +# Предпочтения модификатора +csharp_prefer_static_local_function = true +csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async +csharp_style_prefer_readonly_struct = true +csharp_style_prefer_readonly_struct_member = true + +# Предпочтения для блоков кода +csharp_prefer_braces = true +csharp_prefer_simple_using_statement = true +csharp_style_namespace_declarations = block_scoped +csharp_style_prefer_method_group_conversion = true +csharp_style_prefer_primary_constructors = true +csharp_style_prefer_top_level_statements = true + +# Выражения уровень предпочтения +csharp_prefer_simple_default_expression = true +csharp_style_deconstructed_variable_declaration = true +csharp_style_implicit_object_creation_when_type_is_apparent = true +csharp_style_inlined_variable_declaration = true +csharp_style_prefer_index_operator = true +csharp_style_prefer_local_over_anonymous_function = true +csharp_style_prefer_null_check_over_type_check = true +csharp_style_prefer_range_operator = true +csharp_style_prefer_tuple_swap = true +csharp_style_prefer_utf8_string_literals = true +csharp_style_throw_expression = true +csharp_style_unused_value_assignment_preference = discard_variable +csharp_style_unused_value_expression_statement_preference = discard_variable + +# предпочтения для директивы using +csharp_using_directive_placement = outside_namespace + +# Предпочтения для новых строк +csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true +csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true +csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true +csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true +csharp_style_allow_embedded_statements_on_same_line_experimental = true + +#### Правила форматирования C# #### + +# Предпочтения для новых строк +csharp_new_line_before_catch = true +csharp_new_line_before_else = true +csharp_new_line_before_finally = true +csharp_new_line_before_members_in_anonymous_types = true +csharp_new_line_before_members_in_object_initializers = true +csharp_new_line_before_open_brace = all +csharp_new_line_between_query_expression_clauses = true + +# Предпочтения для отступов +csharp_indent_block_contents = true +csharp_indent_braces = false +csharp_indent_case_contents = true +csharp_indent_case_contents_when_block = true +csharp_indent_labels = one_less_than_current +csharp_indent_switch_labels = true + +# Предпочтения для интервалов +csharp_space_after_cast = false +csharp_space_after_colon_in_inheritance_clause = true +csharp_space_after_comma = true +csharp_space_after_dot = false +csharp_space_after_keywords_in_control_flow_statements = true +csharp_space_after_semicolon_in_for_statement = true +csharp_space_around_binary_operators = before_and_after +csharp_space_around_declaration_statements = false +csharp_space_before_colon_in_inheritance_clause = true +csharp_space_before_comma = false +csharp_space_before_dot = false +csharp_space_before_open_square_brackets = false +csharp_space_before_semicolon_in_for_statement = false +csharp_space_between_empty_square_brackets = false +csharp_space_between_method_call_empty_parameter_list_parentheses = false +csharp_space_between_method_call_name_and_opening_parenthesis = false +csharp_space_between_method_call_parameter_list_parentheses = false +csharp_space_between_method_declaration_empty_parameter_list_parentheses = false +csharp_space_between_method_declaration_name_and_open_parenthesis = false +csharp_space_between_method_declaration_parameter_list_parentheses = false +csharp_space_between_parentheses = false +csharp_space_between_square_brackets = false + +# Предпочтения переноса +csharp_preserve_single_line_blocks = true +csharp_preserve_single_line_statements = true + +#### Стили именования #### + +# Правила именования + +dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion +dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface +dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i + +dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.types_should_be_pascal_case.symbols = types +dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case + +dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members +dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case + +# Спецификации символов + +dotnet_naming_symbols.interface.applicable_kinds = interface +dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.interface.required_modifiers = + +dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum +dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.types.required_modifiers = + +dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method +dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.non_field_members.required_modifiers = + +# Стили именования + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case + +dotnet_naming_style.begins_with_i.required_prefix = I +dotnet_naming_style.begins_with_i.required_suffix = +dotnet_naming_style.begins_with_i.word_separator = +dotnet_naming_style.begins_with_i.capitalization = pascal_case diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs index abe67dc..1cf3552 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs @@ -52,15 +52,8 @@ public class MassiveGenericObjects : ICollectionGenericObjects public int Insert(T obj) { - for (int i = 0; i < Count; i++) - { - if (_collection[i] == null) - { - _collection[i] = obj; - return i; - } - } - return -1; + return Insert(obj, 0); + } public int Insert(T obj, int position) diff --git a/ProjectContainerShip/ProjectContainerShip/FormShipConfig.Designer.cs b/ProjectContainerShip/ProjectContainerShip/FormShipConfig.Designer.cs new file mode 100644 index 0000000..f43455a --- /dev/null +++ b/ProjectContainerShip/ProjectContainerShip/FormShipConfig.Designer.cs @@ -0,0 +1,39 @@ +namespace ProjectContainerShip +{ + partial class FormShipConfig + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Text = "FormShipConfig"; + } + + #endregion + } +} \ No newline at end of file diff --git a/ProjectContainerShip/ProjectContainerShip/FormShipConfig.cs b/ProjectContainerShip/ProjectContainerShip/FormShipConfig.cs new file mode 100644 index 0000000..857a13c --- /dev/null +++ b/ProjectContainerShip/ProjectContainerShip/FormShipConfig.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ProjectContainerShip +{ + public partial class FormShipConfig : Form + { + public FormShipConfig() + { + InitializeComponent(); + } + } +} diff --git a/ProjectContainerShip/ProjectContainerShip/FormShipConfig.resx b/ProjectContainerShip/ProjectContainerShip/FormShipConfig.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/ProjectContainerShip/ProjectContainerShip/FormShipConfig.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file From 40042fbcefe257e86f588c53a229a27f878cf826 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Sun, 14 Apr 2024 19:28:39 +0400 Subject: [PATCH 02/15] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20insert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CollectionGenericObjects/MassiveGenericObjects.cs | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs index 12404ff..13f4640 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs @@ -52,15 +52,7 @@ public class MassiveGenericObjects : ICollectionGenericObjects public bool Insert(T obj) { - for (int i = 0; i < Count; i++) - { - if (_collection[i] == null) - { - _collection[i] = obj; - return true; - } - } - return false; + return Insert(obj, 0); } public bool Insert(T obj, int position) From 9f8280b5f9a45ba9526f2059e95fb2033d52ae61 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Sun, 14 Apr 2024 19:34:30 +0400 Subject: [PATCH 03/15] =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FormShipConfig.Designer.cs | 39 ------ .../ProjectContainerShip/FormShipConfig.cs | 20 --- .../ProjectContainerShip/FormShipConfig.resx | 120 ------------------ 3 files changed, 179 deletions(-) delete mode 100644 ProjectContainerShip/ProjectContainerShip/FormShipConfig.Designer.cs delete mode 100644 ProjectContainerShip/ProjectContainerShip/FormShipConfig.cs delete mode 100644 ProjectContainerShip/ProjectContainerShip/FormShipConfig.resx diff --git a/ProjectContainerShip/ProjectContainerShip/FormShipConfig.Designer.cs b/ProjectContainerShip/ProjectContainerShip/FormShipConfig.Designer.cs deleted file mode 100644 index f43455a..0000000 --- a/ProjectContainerShip/ProjectContainerShip/FormShipConfig.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace ProjectContainerShip -{ - partial class FormShipConfig - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(800, 450); - this.Text = "FormShipConfig"; - } - - #endregion - } -} \ No newline at end of file diff --git a/ProjectContainerShip/ProjectContainerShip/FormShipConfig.cs b/ProjectContainerShip/ProjectContainerShip/FormShipConfig.cs deleted file mode 100644 index 857a13c..0000000 --- a/ProjectContainerShip/ProjectContainerShip/FormShipConfig.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace ProjectContainerShip -{ - public partial class FormShipConfig : Form - { - public FormShipConfig() - { - InitializeComponent(); - } - } -} diff --git a/ProjectContainerShip/ProjectContainerShip/FormShipConfig.resx b/ProjectContainerShip/ProjectContainerShip/FormShipConfig.resx deleted file mode 100644 index 1af7de1..0000000 --- a/ProjectContainerShip/ProjectContainerShip/FormShipConfig.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file From 9d782d7465d64224fd5c46a21bc8e8353128ed41 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 15 Apr 2024 01:48:53 +0400 Subject: [PATCH 04/15] =?UTF-8?q?=D1=82=D0=B8=D0=BF=D1=8B=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MassiveGenericObjects.cs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs index 13f4640..01743cf 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs @@ -50,21 +50,21 @@ public class MassiveGenericObjects : ICollectionGenericObjects return null; } - public bool Insert(T obj) + public int Insert(T obj) { return Insert(obj, 0); } - public bool Insert(T obj, int position) + public int Insert(T obj, int position) { if (position < 0 || position >= Count) { - return false; + return -1; } if (_collection[position] == null) { _collection[position] = obj; - return true; + return position; } for (int i = position + 1; i < Count; i++) @@ -72,7 +72,7 @@ public class MassiveGenericObjects : ICollectionGenericObjects if (_collection[i] == null) { _collection[i] = obj; - return true; + return i; } } for (int i = position - 1; i >= 0; i--) @@ -80,21 +80,21 @@ public class MassiveGenericObjects : ICollectionGenericObjects if (_collection[i] == null) { _collection[i] = obj; - return true; + return i; } } - return false; + return -1; } - public bool Remove(int position) + public T Remove(int position) { if (position < 0 || position >= Count) { - return false; + return null; } T obj = _collection[position]; _collection[position] = null; - return true; + return obj; } } \ No newline at end of file From cd5e42fe8304dbbbfa1327507b8df83145478894 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 15 Apr 2024 01:49:37 +0400 Subject: [PATCH 05/15] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CollectionGenericObjects/ICollectionGenericObjects.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ICollectionGenericObjects.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ICollectionGenericObjects.cs index 6c3cb97..2dc17b3 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ICollectionGenericObjects.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ICollectionGenericObjects.cs @@ -19,7 +19,7 @@ public interface ICollectionGenericObjects /// /// Добавляемый объект /// true - вставка прошла удачно, false - вставка не удалась - bool Insert (T obj); + int Insert (T obj); /// /// Добавление объекта в коллекцию на конкретную позицию @@ -27,14 +27,14 @@ public interface ICollectionGenericObjects /// /// Добавляемый объект /// /// Позиция /// true - вставка прошла удачно, false - вставка не удалась - bool Insert (T obj, int position); + int Insert (T obj, int position); /// /// Удаление объекта из коллекции с конктретной позиции /// /// /// Добавляемый объект /// true - удаление прошло удачно, false - удаление не удалось - bool Remove (int position); + T Remove (int position); /// /// Получение объекта по позиции From 419dee846e32aead8b3f8754ab896334772a5f69 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 15 Apr 2024 01:51:48 +0400 Subject: [PATCH 06/15] 1 --- .../CollectionGenericObjects/MassiveGenericObjects.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs index 1cf3552..3d4b85b 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs @@ -53,7 +53,6 @@ public class MassiveGenericObjects : ICollectionGenericObjects public int Insert(T obj) { return Insert(obj, 0); - } public int Insert(T obj, int position) From ca753501b04b4cb326fdde78181fb5ef0719fbf4 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 15 Apr 2024 01:54:28 +0400 Subject: [PATCH 07/15] =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CollectionGenericObjects/MassiveGenericObjects.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs index 01743cf..c94b54c 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs @@ -10,7 +10,7 @@ public class MassiveGenericObjects : ICollectionGenericObjects /// /// Массив объектов, которые храним /// - private T?[] _collection; + private T?[] _collection; public int Count => _collection.Length; From 8070b792bf68de7b95693eea33965250433767bc Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 15 Apr 2024 01:56:16 +0400 Subject: [PATCH 08/15] =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CollectionGenericObjects/AbstractCompany.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/AbstractCompany.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/AbstractCompany.cs index 73ad088..4a20e8c 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/AbstractCompany.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/AbstractCompany.cs @@ -56,9 +56,9 @@ public abstract class AbstractCompany /// Компания /// Добавляемый объект /// - public static bool operator +(AbstractCompany company, DrawningShip boat) + public static int operator +(AbstractCompany company, DrawningShip boat) { - return company._collection?.Insert(boat) ?? false; + return company._collection?.Insert(boat) ?? -1; } /// @@ -67,9 +67,9 @@ public abstract class AbstractCompany /// Компания /// Номер удаляемого объекта /// - public static bool operator -(AbstractCompany company, int position) + public static DrawningShip operator -(AbstractCompany company, int position) { - return company._collection?.Remove(position) ?? false; + return company._collection?.Remove(position) ?? null; } /// From a8e14cb111c4ddea5a8505d2aa06e2b10a0b2baa Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 15 Apr 2024 02:07:48 +0400 Subject: [PATCH 09/15] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CollectionGenericObjects/MassiveGenericObjects.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs index 3d4b85b..c94b54c 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/MassiveGenericObjects.cs @@ -10,7 +10,7 @@ public class MassiveGenericObjects : ICollectionGenericObjects /// /// Массив объектов, которые храним /// - private T?[] _collection; + private T?[] _collection; public int Count => _collection.Length; @@ -52,7 +52,7 @@ public class MassiveGenericObjects : ICollectionGenericObjects public int Insert(T obj) { - return Insert(obj, 0); + return Insert(obj, 0); } public int Insert(T obj, int position) From 5f0fea57fe586abe48a502a0d0ec79e15326915d Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 15 Apr 2024 02:13:54 +0400 Subject: [PATCH 10/15] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjectContainerShip/ProjectContainerShip/FormShipCollection.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ProjectContainerShip/ProjectContainerShip/FormShipCollection.cs b/ProjectContainerShip/ProjectContainerShip/FormShipCollection.cs index f8bf5aa..3e86c5f 100644 --- a/ProjectContainerShip/ProjectContainerShip/FormShipCollection.cs +++ b/ProjectContainerShip/ProjectContainerShip/FormShipCollection.cs @@ -65,7 +65,7 @@ namespace ProjectContainerShip return; } - if (_company + _drawningShip) + if (_company + _drawningShip != -1) { MessageBox.Show("Объект добавлен"); pictureBox.Image = _company.Show(); From 16d8e16ef91a5c276251d3c6998753d987d7c713 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 15 Apr 2024 02:22:42 +0400 Subject: [PATCH 11/15] =?UTF-8?q?=D1=81=D0=B4=D0=B0=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjectContainerShip/ProjectContainerShip/FormShipCollection.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/ProjectContainerShip/ProjectContainerShip/FormShipCollection.cs b/ProjectContainerShip/ProjectContainerShip/FormShipCollection.cs index 3e86c5f..ffc5ec9 100644 --- a/ProjectContainerShip/ProjectContainerShip/FormShipCollection.cs +++ b/ProjectContainerShip/ProjectContainerShip/FormShipCollection.cs @@ -38,6 +38,7 @@ namespace ProjectContainerShip panelCompanyTools.Enabled = false; } + /// /// Создание объекта класса-перемещения /// From 2318c8a11f1bca6aaca3b8b581a892278ce5dee9 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 15 Apr 2024 12:00:51 +0400 Subject: [PATCH 12/15] =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=BF=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ListGenericObjects.cs | 82 ++++--------------- 1 file changed, 17 insertions(+), 65 deletions(-) diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs index 7ca3490..e1f1b2a 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs @@ -16,8 +16,7 @@ public class ListGenericObjects : ICollectionGenericObjects /// /// Список объектов, которые храним /// - //private readonly List _collection; - private readonly Dictionary _collection; + private readonly List _collection; /// /// Максимально допустимое число объектов в списке @@ -33,8 +32,7 @@ public class ListGenericObjects : ICollectionGenericObjects /// public ListGenericObjects() { - //_collection = new(); - _collection = new Dictionary(); + _collection = new(); } public T? Get(int position) @@ -49,78 +47,32 @@ public class ListGenericObjects : ICollectionGenericObjects } } - public bool Insert(T obj) + public int Insert(T obj) { - if (Count == _maxCount) { return false; } - //_collection.Add(obj); - //return true; - - //допка - int position = FindFirstNullPosition(); - if (position == -1) - { - return false; - } + if (Count == _maxCount) { return -1; } + _collection.Add(obj); + return Count; - _collection[position] = obj; - return true; } - public bool Insert(T obj, int position) + public int Insert(T obj, int position) { - //if (position < 0 || position >= Count || Count == _maxCount) - //{ - // return false; - //} - //_collection.Insert(position, obj); - - //return false; - - //допка - if (position < 0 || position >= _maxCount || Count == _maxCount || _collection.ContainsKey(position)) + if (position < 0 || position >= Count || Count == _maxCount) { - return false; + return -1; } + _collection.Insert(position, obj); + + return position; - _collection[position] = obj; - return true; } - public bool Remove(int position) + public T Remove(int position) { - // if (position < 0 || position >= Count) - // { - // return false; - // } - // _collection.RemoveAt(position); - // return true; - - //допка - if (!_collection.ContainsKey(position)) - { - return false; - } - - _collection.Remove(position); - return true; - } - /// - /// Находит первую пустую позицию в словаре - /// - /// Индекс первой пустой позиции или -1, если такой не найдено - - - //допка - private int FindFirstNullPosition() - { - for (int i = 0; i < _maxCount; i++) - { - if (!_collection.ContainsKey(i) || _collection[i] == null) - { - return i; - } - } - return -1; + if (position >= Count || position < 0) return null; + T obj = _collection[position]; + _collection.RemoveAt(position); + return obj; } } From 2174798ffb847123a230b27fafef3ac262f7c342 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 15 Apr 2024 13:47:05 +0400 Subject: [PATCH 13/15] =?UTF-8?q?=D0=B2=D1=81=D0=B5,=20=D0=BB=D0=B0=D0=B1?= =?UTF-8?q?=D0=B0=20=D0=BF=D0=BE=D0=BB=D0=BD=D0=BE=D1=81=D1=82=D1=8C=D1=8E?= =?UTF-8?q?=20=D1=81=D0=B4=D0=B0=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CollectionGenericObjects/ListGenericObjects.cs | 2 +- .../CollectionGenericObjects/StorageCollection.cs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs index e1f1b2a..ea12df5 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs @@ -70,7 +70,7 @@ public class ListGenericObjects : ICollectionGenericObjects public T Remove(int position) { if (position >= Count || position < 0) return null; - T obj = _collection[position]; + T? obj = _collection[position]; _collection.RemoveAt(position); return obj; } diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/StorageCollection.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/StorageCollection.cs index 4452313..0703004 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/StorageCollection.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/StorageCollection.cs @@ -18,6 +18,7 @@ public class StorageCollection /// readonly Dictionary> _storages; + /// /// Возвращение списка названий коллекций /// @@ -31,6 +32,7 @@ public class StorageCollection _storages = new Dictionary>(); } + /// /// Добавление коллекции в хранилище /// From 7bc3ac944f825c82b67712482b61dc79a5761793 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 15 Apr 2024 14:51:50 +0400 Subject: [PATCH 14/15] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=20=D0=B2=20?= =?UTF-8?q?=D0=BB=D0=B8=D1=81=D1=82=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CollectionGenericObjects/ListGenericObjects.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs index ea12df5..e1f1b2a 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs @@ -70,7 +70,7 @@ public class ListGenericObjects : ICollectionGenericObjects public T Remove(int position) { if (position >= Count || position < 0) return null; - T? obj = _collection[position]; + T obj = _collection[position]; _collection.RemoveAt(position); return obj; } From f5458c9f842a618963d180258f17f2cdfc49837c Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 15 Apr 2024 14:52:19 +0400 Subject: [PATCH 15/15] =?UTF-8?q?Revert=20"=D1=84=D0=B8=D0=BA=D1=81=20?= =?UTF-8?q?=D0=B2=20=D0=BB=D0=B8=D1=81=D1=82=D0=B5"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 7bc3ac944f825c82b67712482b61dc79a5761793. --- .../CollectionGenericObjects/ListGenericObjects.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs index e1f1b2a..ea12df5 100644 --- a/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs +++ b/ProjectContainerShip/ProjectContainerShip/CollectionGenericObjects/ListGenericObjects.cs @@ -70,7 +70,7 @@ public class ListGenericObjects : ICollectionGenericObjects public T Remove(int position) { if (position >= Count || position < 0) return null; - T obj = _collection[position]; + T? obj = _collection[position]; _collection.RemoveAt(position); return obj; }