using System.Text.RegularExpressions; namespace Day22; public partial class Parser { [GeneratedRegex(@".*")] private partial Regex LineMatch(); public BrickStack Parse(string inputFile) { var brickStack = new BrickStack(); using var reader = File.OpenText(inputFile); while (!reader.EndOfStream) { var line = reader.ReadLine()!; var parts = line.Split('~'); var points = parts.Take(2).Select(s => Vec.FromArray(s.Split(',').Select(int.Parse).ToArray())).ToArray(); brickStack.Add(new Brick(points[0], points[1])); } return brickStack; } }