Parser.cs 689 B

123456789101112131415161718192021222324252627282930
  1. using System.Text.RegularExpressions;
  2. namespace Day16;
  3. public partial class Parser
  4. {
  5. [GeneratedRegex(@".*")]
  6. private partial Regex LineMatch();
  7. public Panel Parse(string inputFile)
  8. {
  9. var lines = File.ReadAllLines(inputFile);
  10. var width = lines[0].Length;
  11. var height = lines.Length;
  12. var tiles = new Tile[width, height];
  13. var y = 0;
  14. foreach (var l in lines)
  15. {
  16. var x = 0;
  17. foreach (var c in l)
  18. {
  19. tiles[x, y] = new Tile(x, y, c);
  20. x++;
  21. }
  22. y++;
  23. }
  24. return new Panel(tiles);
  25. }
  26. }