Поправки для корректной работы с нулевыми объектами

This commit is contained in:
prodigygirl 2022-11-08 00:38:25 +04:00
parent 126d2fbe3b
commit 8e10a017f8
2 changed files with 14 additions and 7 deletions

View File

@ -176,8 +176,8 @@ namespace ArmoredCar
int k = 0;
foreach (var armoredCar in _setCars.GetCars())
{
armoredCar.SetObject(k % width * _placeSizeWidth + 5, k / width * _placeSizeHeight + 10, _pictureWidth, _pictureHeight);
armoredCar.DrawningObject(g);
armoredCar?.SetObject(k % width * _placeSizeWidth + 5, k / width * _placeSizeHeight + 10, _pictureWidth, _pictureHeight);
armoredCar?.DrawningObject(g);
k++;
}
}
@ -191,7 +191,10 @@ namespace ArmoredCar
string data = $"{_map.GetType().Name}{separatorType}";
foreach (var armoredCar in _setCars.GetCars())
{
data += $"{armoredCar.GetInfo()}{separatorData}";
if (armoredCar != null)
data += $"{armoredCar.GetInfo()}{separatorData}";
else
data += $"null{separatorData}";
}
return data;
}
@ -203,7 +206,10 @@ namespace ArmoredCar
{
foreach (var rec in records)
{
_setCars.Insert(DrawningObjectArmCar.Create(rec) as T);
if (rec != "null")
_setCars.Insert(DrawningObjectArmCar.Create(rec) as T);
else
_setCars.Insert(null);
}
}
}

View File

@ -65,7 +65,7 @@ namespace ArmoredCar
T armoredCar = _places[position];
if (armoredCar == null)
throw new ArmoredCarNotFoundException(position);
_places.RemoveAt(position);
_places[position] = null;
return armoredCar;
}
/// <summary>
@ -98,14 +98,15 @@ namespace ArmoredCar
{
foreach (var car in _places)
{
if (car != null)
yield return car;
/*if (car != null)
{
yield return car;
}
else
{
yield break;
}
}*/
}
}