Parser.cs 712 B

1234567891011121314151617181920212223242526
  1. using System.Text.RegularExpressions;
  2. namespace Day22;
  3. public partial class Parser
  4. {
  5. [GeneratedRegex(@".*")]
  6. private partial Regex LineMatch();
  7. public BrickStack Parse(string inputFile)
  8. {
  9. var brickStack = new BrickStack();
  10. using var reader = File.OpenText(inputFile);
  11. while (!reader.EndOfStream)
  12. {
  13. var line = reader.ReadLine()!;
  14. var parts = line.Split('~');
  15. var points = parts.Take(2).Select(s => Vec.FromArray(s.Split(',').Select(int.Parse).ToArray())).ToArray();
  16. brickStack.Add(new Brick(points[0], points[1]));
  17. }
  18. return brickStack;
  19. }
  20. }