WIP Apply nullability

This commit is contained in:
2024-12-01 18:42:43 +01:00
parent dafd2526d1
commit 7bd1471df6
25 changed files with 52 additions and 44 deletions

View File

@@ -371,7 +371,7 @@ public class Day13 : IDay
private int _width;
private int _height;
private char[,] _grid;
private char[,]? _grid;
private readonly List<Train> _trains = [];
private void Initialize(string[] inputs)
@@ -430,9 +430,9 @@ public class Day13 : IDay
}
}
private Train SimulateForFirstCollision()
private Train? SimulateForFirstCollision()
{
Train collidingTrain = null;
Train? collidingTrain = null;
IEnumerable<Train> orderedTrains = _trains.OrderBy(t => t.X + (t.Y * _width));
foreach (Train t in orderedTrains)
{
@@ -443,13 +443,13 @@ public class Day13 : IDay
return collidingTrain;
}
private Train SimulateForLastCart()
private Train? SimulateForLastCart()
{
List<Train> orderedTrains = _trains.OrderBy(t => t.X + (t.Y * _width)).ToList();
foreach (Train t in orderedTrains)
{
t.Simulate(_grid);
Train collidingTrain = _trains.FirstOrDefault(x => x.X == t.X && x.Y == t.Y && t != x);
Train? collidingTrain = _trains.FirstOrDefault(x => x.X == t.X && x.Y == t.Y && t != x);
if (collidingTrain != null)
{
_trains.Remove(t);
@@ -470,7 +470,7 @@ public class Day13 : IDay
{
for (int i = 0; i < _width; i++)
{
Train t = _trains.FirstOrDefault(x => x.X == i && x.Y == j);
Train? t = _trains.FirstOrDefault(x => x.X == i && x.Y == j);
if (t != null)
{
if (t.Direction == TrainDirection.North)