私は多くのアドバイスを受けて、構造体を使用する代わりに、クラスを使用してリストを作成しています
コードの断片
class BigClass
class rawData
{
public string recType;
public string ncmCode;
}
次に、streamreader を使用してオブジェクトにデータを取得します。
List<rawData> myData = new List<rawData>();
rawData tempRawData = new rawData();
while ((dataLine = readRawData.ReadLine()) != null)
{
.....
for (int i = 0; i < tokens.Length; i++)
{
// code to set fields of tempRawData stripped
....
}
myData.Add(tempRawData);
}
このオブジェクトはリスト myData に追加されますが、ループが新しい tempRawData で再度実行されると、それが myData に追加され、以前にコピーされたものが置き換えられます。したがって、同じデータの2行を取得します...これはx行に対して行われるため、10,000回実行すると、リスト内の10,000行に同じデータが含まれます.csvファイルの行10,000で読み取られたデータです。 ...