Może zamiast
String line = reader.ReadLine();
char[] vs = line.ToArray();
string[] values = vs;
list.Add(values);
dla pliku
identyfikatory.txt (dla przykładu pierwsze 10 linii)
ACD364321
FYH766322
ERT492157
UCF086201
SER030271
TRE320041
HGJ264015
YIK288424
LOP631028
RFT075953
użyj po prostu
string[] data = File.ReadAllLines("identyfikator.txt");
trzy pierwsze litery możesz usunąć np. za pomocą
string digits = Regex.Replace(line, "^[A-Z]{3}", "");
lub
string digits = line.Substring(3);
i zamiast
int lb1 = Convert.ToInt32(value[3]);
int lb2 = Convert.ToInt32(value[4]);
int lb3 = Convert.ToInt32(value[5]);
int lb4 = Convert.ToInt32(value[6]);
int lb5 = Convert.ToInt32(value[7]);
int lb6 = Convert.ToInt32(value[8]);
int suma = lb1 + lb2 + lb3 + lb4 + lb5 + lb6;
możesz użyć taki zapis
int total = 0;
for (int i=0; i<digits.Length; i++)
total += (int)digits[i] - '0';
przykład [ on-line , on-line ]
using System;
using System.IO;
class HelloWorld {
static void Main() {
string[] data = File.ReadAllLines("identyfikator.txt");
int temp = 0;
foreach (string line in data) {
string digits = line.Substring(3);
int total = 0;
for (int i=0; i<digits.Length; i++)
total += (int)digits[i] - '0';
if (total > temp) {
Console.WriteLine("{0} {1}", total, line);
temp = total;
}
}
}
}
P.S.
[ Convert char to int ]