//print it (enter seprated) public override string ToString() { /* * no stringbouldier: * 00:00:08.3074953 * wiht stringbuilder: * 00:00:07.9234735 * 10 nestigns * ..\..\data\genius131_data.txt ..\..\data\genius131_target.txt * */ /* * StringRepresentation = ""; * foreach (var r in data) * { * foreach (var c in r) * { * StringRepresentation += MazeItemConvertion.ToString(c); * } * StringRepresentation += "-\n\r"; * } */ StringBuilder builder = new StringBuilder((2 + data.Count()) * (4 + data[0].Count())); foreach (var r in data) { foreach (var c in r) { builder.Append(MazeItemConvertion.ToChar(c)); } builder.Append("\n"); } return(builder.ToString()); }
//loading it, error message thowrs exception public void Load(IEnumerable <string> src) { data = new List <List <MazeItem> >(); foreach (var s in src) { List <MazeItem> row = new List <MazeItem>(); foreach (var c in s) { row.Add(MazeItemConvertion.FromString(c)); } data.Add(row); } //check it is square foreach (var i in data) { if (i.Count() != data[0].Count()) { throw new ArgumentOutOfRangeException($"data is not square"); } } }