This commit is contained in:
Алексей Тихоненков 2023-10-31 01:29:42 +04:00
parent 10edf8895b
commit 4965346ea3
3 changed files with 21 additions and 39 deletions

View File

@ -106,7 +106,7 @@ namespace AntiAircraftGun
FormAntiAirCraftGun form = new(); FormAntiAirCraftGun form = new();
if (form.ShowDialog() == DialogResult.OK) if (form.ShowDialog() == DialogResult.OK)
{ {
if ((obj + form.SelectedZenit)==1) if (obj + form.SelectedZenit)
{ {
MessageBox.Show("Объект добавлен"); MessageBox.Show("Объект добавлен");
pictureBoxCollection.Image = obj.ShowZenits(); pictureBoxCollection.Image = obj.ShowZenits();

View File

@ -51,11 +51,11 @@ namespace AntiAircraftGun.Generics
/// <param name="collect"></param> /// <param name="collect"></param>
/// <param name="obj"></param> /// <param name="obj"></param>
/// <returns></returns> /// <returns></returns>
public static int operator +(AntiAirCraftGunGenericCollection<T,U> collect, T? obj) public static bool operator +(AntiAirCraftGunGenericCollection<T,U> collect, T? obj)
{ {
if (obj == null) if (obj == null)
return -1; return false;
return collect?._collection.Insert(obj) ?? -1; return collect?._collection.Insert(obj) ?? false;
} }
/// <summary> /// <summary>
/// Перегрузка оператора вычитания /// Перегрузка оператора вычитания
@ -63,12 +63,12 @@ namespace AntiAircraftGun.Generics
/// <param name="collect"></param> /// <param name="collect"></param>
/// <param name="pos"></param> /// <param name="pos"></param>
/// <returns></returns> /// <returns></returns>
public static bool operator -(AntiAirCraftGunGenericCollection<T, U> collect, int pos) public static T? operator -(AntiAirCraftGunGenericCollection<T, U> collect, int pos)
{ {
T? obj = collect._collection.Get(pos); T? obj = collect._collection.Get(pos);
if (obj != null) if (obj != null)
return collect._collection.Remove(pos); collect._collection.Remove(pos);
return false; return obj;
} }
/// <summary> /// <summary>

View File

@ -35,21 +35,20 @@ namespace AntiAircraftGun.Generics
/// </summary> /// </summary>
/// <param name="car">Добавляемый автомобиль</param> /// <param name="car">Добавляемый автомобиль</param>
/// <returns></returns> /// <returns></returns>
public int Insert(T car) public bool Insert(T car)
{ {
if (_places.Count == _maxCount) if (_places.Count == _maxCount)
return -1; return false;
Insert(car, 0); Insert(car, 0);
return 1; return true;
} }
public int Insert(T car, int position) public bool Insert(T car, int position)
{ {
if (!(position >= 0 && position <= Count && _places.Count < _maxCount)) if (!(position >= 0 && position <= Count && _places.Count < _maxCount))
return -1; return false;
_places.Insert(position, car); _places.Insert(position, car);
return 1; return true;
} }
/// <summary> /// <summary>
@ -63,8 +62,8 @@ namespace AntiAircraftGun.Generics
if (position < 0 || position >= Count) if (position < 0 || position >= Count)
return false; return false;
// Удаление объекта из массива, присвоив элементу массива значение null
_places[position] = null; _places.RemoveAt(position);
return true; return true;
} }
/// <summary> /// <summary>
@ -76,35 +75,18 @@ namespace AntiAircraftGun.Generics
{ {
get get
{ {
// TODO: Проверить позицию if (!(position >= 0 && position < Count))
if (position < 0 || position >= Count)
{
MessageBox.Show("Индекс выходит за пределы диапазона");
return null; return null;
}
return _places[position]; return _places[position];
} }
set set
{ {
// TODO: Проверить позицию if (!(position >= 0 && position < Count && _places.Count < _maxCount))
if (position < 0 || position >= Count)
{
MessageBox.Show("Индекс выходит за пределы диапазона");
return; return;
}
// TODO: Проверить наличие доступных слотов в списке
if (_places.Count < _maxCount)
{
// Вставить на указанную позицию
_places.Insert(position, value); _places.Insert(position, value);
}
else
{
MessageBox.Show("Список уже заполнен");
return; return;
} }
} }
}
/// <summary> /// <summary>
/// Проход по списку /// Проход по списку
/// </summary> /// </summary>