From 93037118d634cf81bec4d2c93fbcef501002c271 Mon Sep 17 00:00:00 2001 From: tellsense Date: Sun, 29 Oct 2023 19:18:46 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=B2?= =?UTF-8?q?=20CarsGenericCollection?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LocomotivesGenericCollection.cs | 18 +++---- .../ElectricLocomotive/SetGeneric.cs | 48 ++----------------- 2 files changed, 15 insertions(+), 51 deletions(-) diff --git a/ElectricLocomotive/ElectricLocomotive/LocomotivesGenericCollection.cs b/ElectricLocomotive/ElectricLocomotive/LocomotivesGenericCollection.cs index aaa36a9..e1f05ad 100644 --- a/ElectricLocomotive/ElectricLocomotive/LocomotivesGenericCollection.cs +++ b/ElectricLocomotive/ElectricLocomotive/LocomotivesGenericCollection.cs @@ -31,18 +31,20 @@ namespace ProjectElectricLocomotive.Generics { return -1; } - return collect?._collection.Insert(locomotive) ?? -1; + return collect._collection.Insert(locomotive); } - public static bool operator -(LocomotivesGenericCollection collect, int pos) + public static T? operator -(LocomotivesGenericCollection collect, int pos) { - T? locomotive = collect._collection.Get(pos); - if (locomotive != null) - return collect._collection.Remove(pos); - return false; + T? obj = collect._collection[pos]; + if (obj != null) + { + collect._collection.Remove(pos); + } + return obj; } public U? GetU(int pos) { - return (U?)_collection.Get(pos)?.GetMoveableObject; + return (U?)_collection[pos]?.GetMoveableObject; } public Bitmap ShowLocomotives() { @@ -74,7 +76,7 @@ namespace ProjectElectricLocomotive.Generics int Wloco = _pictureWidth / _placeSizeWidth; for (int i = 0; i < _collection.Count; i++) { - T? type = _collection.Get(i); + T? type = _collection[i]; if (type != null) { type.SetPosition( diff --git a/ElectricLocomotive/ElectricLocomotive/SetGeneric.cs b/ElectricLocomotive/ElectricLocomotive/SetGeneric.cs index 223eb4d..89b6709 100644 --- a/ElectricLocomotive/ElectricLocomotive/SetGeneric.cs +++ b/ElectricLocomotive/ElectricLocomotive/SetGeneric.cs @@ -9,67 +9,33 @@ namespace ProjectElectricLocomotive.Generics internal class SetGeneric where T : class { - /// - /// Список объектов, которые храним - /// private readonly List _places; - /// - /// Количество объектов в массиве - /// public int Count => _places.Count; - /// - /// Максимальное количество объектов в списке - /// private readonly int _maxCount; - /// - /// Конструктор - /// - /// public SetGeneric(int count) { _maxCount = count; _places = new List(count); } - /// - /// Добавление объекта в набор - /// - /// Добавляемый автомобиль - /// - public bool Insert(T car) + public bool Insert(T locomotive) { // TODO вставка в начало набора return true; } - /// - /// Добавление объекта в набор на конкретную позицию - /// - /// Добавляемый автомобиль - /// Позиция - /// - public bool Insert(T car, int position) + public bool Insert(T locomotive, int position) { // TODO проверка позиции // TODO проверка, что есть место для вставки // TODO вставка по позиции - _places[position] = car; + _places[position] = locomotive; return true; } - /// - /// Удаление объекта из набора с конкретной позиции - /// - /// - /// public bool Remove(int position) { // TODO проверка позиции // TODO удаление объекта из списка return true; } - /// - /// Получение объекта из набора по позиции - /// - /// - /// public T? this[int position] { get @@ -84,16 +50,12 @@ namespace ProjectElectricLocomotive.Generics // TODO вставка в список по позиции } } - /// - /// Проход по списку - /// - /// - public IEnumerable GetCars(int? maxCars = null) + public IEnumerable GetLocos(int? maxLocos = null) { for (int i = 0; i < _places.Count; ++i) { yield return _places[i]; - if (maxCars.HasValue && i == maxCars.Value) + if (maxLocos.HasValue && i == maxLocos.Value) { yield break; }