public MineTracks(string[] input) { var parsedInput = input.Select(l => l.ToCharArray()).ToArray(); _width = parsedInput[0].Length; _height = parsedInput.Length; _tracks = new char[_width, _height]; for (var y = 0; y < _height; y++) { for (var x = 0; x < _width; x++) { var entity = parsedInput[y][x]; if (_cartTypes.Contains(entity)) { var cart = new MineCart(entity, x, y); entity = cart.ToTrack(); _carts.Add(cart); } _tracks[x, y] = entity; } } }