AdventOfCode/AdventOfCode.Core/Shared/Answerable.cs
Rob 3846b42b7e Massive code base change
partial completion of day 3
2023-12-03 19:09:26 +01:00

31 lines
898 B
C#

using System.Text;
using System.Text.RegularExpressions;
namespace AdventOfCode.Core.Shared
{
public abstract class Answerable
{
public abstract int Year { get; set; }
public abstract int Day { get; set; }
public abstract int Part { get; set; }
public string DefaultInputFile => $"../../../../Advent Of Code Library/{Year}/Day {Day:00}/day-{Day:00}-input.txt";
protected static string NewLine => Environment.NewLine;
public abstract string GetAnswer(byte[] data);
public static string GetAsString(byte[] bytes) => Encoding.UTF8.GetString(bytes).ReplaceLineEndings();
public static string[] GetAsStringArray(byte[] bytes) => GetAsString(bytes).Split(NewLine).ToArray();
private static string StripControlChars(string s)
{
return Regex.Replace(s, @"[^\x20-\x7F]", "");
}
}
}