ToolMy Problem, wenn ich ein neues Element zu einer Liste hinzufügen dieses Element überschreiben alle anderen Elemente vor.Liste überschreiben Daten auf allen Positionen vor
public static List<Tool_OP> list = new List<Tool_OP>();
BinaryReader fs = new BinaryReader(File.Open(FileName, FileMode.Open));
do
{
Tool_OP item = new Tool_OP();
if (!item.ReadRecord(fs)) break;
list.Add(item);
} while (true);
fs.Close();
Hier ist ein Teil meiner Record-Klasse. Mein Datensatz ist OK, wenn ich debbug. Ich weiß nicht, warum meine Liste bei jedem Hinzufügen alle Artikel mit meinem tatsächlichen Artikel überschreibt. Ich habe eine ReadString-Methode, um Strings aus meiner Binärdatei zu erhalten.
class Tool_OP
{
public static string comment;
public static long op_idn;
public static string ReadString(int max, BinaryReader fs)
{
byte[] Buf = new byte[max];
string NewStr = "";
Buf = fs.ReadBytes(max);
for (int ii = 0; ii < max; ii++)
{
if (Buf[ii] == 0) return NewStr;
NewStr = NewStr + Convert.ToChar(Buf[ii]);
}
return NewStr;
}
public Boolean ReadRecord(BinaryReader fs)
{
comment = ReadString(120, fs);
op_idn = fs.ReadInt32();
}
}
Ich denke, dass Sie das Problem falsch diagnostizieren (oder ich missverstanden die Frage), aber es gibt keine Informationen, um dies zu bestimmen. –
Wollen Sie sagen, dass Sie die Liste löschen möchten, wenn Sie die Daten einlesen? Oder sagen Sie, dass alle Einträge in der Liste die gleichen Daten vom letzten Datensatz haben? –
Ich werde sagen, dass alle Elemente die gleichen Daten aus dem letzten Datensatz haben –