internal static List <string> SegmenteExtrahieren(Eintrag eintrag) { List <string> result = new List <string>(); const int anzahlSegemente = 9; for (int i = 0; i < anzahlSegemente; i++) { result.Add(""); // Nur drei Zeilen, weil die letzte Zeile der Abschnitt für den nächsten Eintrag ist foreach (string zeile in eintrag.Zeilen.Take(3)) { int zeichenIndex = i * 3; result[i] += zeile[zeichenIndex].ToString(); result[i] += zeile[zeichenIndex + 1].ToString(); result[i] += zeile[zeichenIndex + 2].ToString(); } } return(result); }
public static List <Eintrag> Convert(IEnumerable <string> zeilen) { List <Eintrag> eintraege = new List <Eintrag>(); int zeilennummer = 1; Eintrag aktuellerEintrag = new Eintrag(); foreach (string zeile in zeilen) { if (zeilennummer++ % 4 == 0) { aktuellerEintrag.Zeilen.Add(zeile); eintraege.Add(aktuellerEintrag); aktuellerEintrag = new Eintrag(); } else { aktuellerEintrag.Zeilen.Add(zeile); } } return(eintraege); }
public static List <int> ZiffernDurchVergleichBestimmen(Eintrag eintrag) { List <string> segmente = SegmenteExtrahieren(eintrag); return(segmente.Select(ZifferDurchVergleichBestimmen).ToList()); }