Gast
#2295169
Guten Tag,
Ich schreibe ein C# Tool welches gespeicherte Messdaten in txt-Format
einließt und diese weiter verarbeitet und oder Graphisch darstellt.
Eine Zeile enthält verschiedene Daten mit unterschiedlicher
Digit-Länge
ZB: 00001; 032145,0232; 23456; 05,014; 23,0312154; 2351458654;
...
00002; 033155,0232; 22356; 05,564; 23,0892154; 9074348654;
...
Hier meine Logik:
1.) Ich hole mir eine vollständige Zeile,
2.) Packe die "Zeichen" in einem Char array bis ich ";" treffe = 1.Werte
... Ich wiederhole 2.) und bilde so einzelnen Werte bis diese
Zeile zu end ist.
3.) Nun komvertiere ich die Werte (Char array) zu einen String
4.) Dann konvertiere ich den String zo double oder Long je nachdem
welche Werte in der Zeile
Hier mein Problem:
Um die Zeichen im Char array zu schieben habe ich vorher eine char[]=new
char[11] definiert.
Ich habe also zum Begin ['0','0','0','0','0','0','0','0','0','0'].
Wenn die Zeichen eingeschoben sind ZB die erste (00001) dann sehe ich
['0','0','0','0','1','0','0','0','0','0'].
Wird diese im String konvertiert dann bekomme ich "0000100000"
Wird diese zu long oder int konvertiert bekomme ich (100000)
und ich erwarte eine (1) als wert.
nun möchte ich die char array size erst in der Loop setzen sodass keine
leere Stellen mit "0" mehr entstehen, da bekomme ich die Fehlermeldung:
"Use of unassigned local variable 'chartVariable'" und zwar erst genau
an der Stelle wo ich die char array zu string konvertieren möchte
Wie kann ich die char array size on the fly bilden
Hier einen Auszug:
char[] onedoublechar;
for (filelineidx = 0; filelineidx < filelinesize-1; filelineidx++)
{
// Get one line and remove any whitespace out of string
lines[filelineidx] = Regex.Replace(lines[filelineidx], @"\s", "");
// convert and distribute the new line into char array
onelinechar = lines[filelineidx].ToCharArray();
for (lineidx = 0; lineidx < 9; lineidx++)
{
onedoublecharidx = 0;
while (onelinechar[onelinecharidx] != ';')
{
onedoublechar = new char[a+1];
// build a single value char array
onedoublechar[onedoublecharidx] =
onelinechar[onelinecharidx];
// Index showing the character in the line character read
onelinecharidx++;
// Index showing the character in the single value char
onedoublecharidx++;
. }
// Increase the index once to jump over (;) in the line
onelinecharidx++;
// Convert the single value of char into one single string
onedoublestring = new string(onedoublechar);
// Put the single string into data buffer of one dimmension
array that contain . the singles values of one line
doublearraystring[lineidx] = onedoublestring;
}
// reset the index showing the character in the line character
read
onelinecharidx = 0;
