From 69db2652b3322594cbaec3dad9ac614af1aa92b9 Mon Sep 17 00:00:00 2001 From: the Date: Wed, 5 Oct 2022 12:15:46 +0400 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AirBomber/AirBomber/FormMapWithSetAirplanes.cs | 2 +- AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs | 8 ++++---- AirBomber/AirBomber/SetAirplanesGeneric.cs | 13 +++++++------ 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/AirBomber/AirBomber/FormMapWithSetAirplanes.cs b/AirBomber/AirBomber/FormMapWithSetAirplanes.cs index 32d0bd4..6b4eb6c 100644 --- a/AirBomber/AirBomber/FormMapWithSetAirplanes.cs +++ b/AirBomber/AirBomber/FormMapWithSetAirplanes.cs @@ -142,7 +142,7 @@ return; } int pos = Convert.ToInt32(maskedTextBoxPosition.Text); - if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] - pos) + if (_mapAirplanesCollectionGeneric - pos != -1) { MessageBox.Show("Объект удален"); pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); diff --git a/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs b/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs index 444dbfd..baef1ea 100644 --- a/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs +++ b/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs @@ -54,8 +54,8 @@ namespace AirBomber /// /// /// - /// - public static bool operator +(MapWithSetAirplanesGeneric map, T airplane) + /// Возвращает позицию вставленого объекта либо -1, если не получилось его добавить + public static int operator +(MapWithSetAirplanesGeneric map, T airplane) { return map._setAirplanes.Insert(airplane); } @@ -64,8 +64,8 @@ namespace AirBomber /// /// /// - /// - public static bool operator -(MapWithSetAirplanesGeneric map, int position) + /// Возвращает удаленный объект, либо null если его не удалось удалить + public static T operator -(MapWithSetAirplanesGeneric map, int position) { return map._setAirplanes.Remove(position); } diff --git a/AirBomber/AirBomber/SetAirplanesGeneric.cs b/AirBomber/AirBomber/SetAirplanesGeneric.cs index 8577377..41ddb96 100644 --- a/AirBomber/AirBomber/SetAirplanesGeneric.cs +++ b/AirBomber/AirBomber/SetAirplanesGeneric.cs @@ -65,13 +65,14 @@ namespace AirBomber /// Удаление объекта из набора с конкретной позиции /// /// - /// - public bool Remove(int position) + /// Возвращает удаленный объект, либо null если его не удалось удалить + public T Remove(int position) { - if (!isCorrectPosition(position) || position >= Count) - return false; - _places.RemoveAt(position); - return true; + if (!isCorrectPosition(position)) + return null; + var result = _places[position]; + _places[position] = null; + return result; } /// /// Получение объекта из набора по позиции