このコードのビットに問題があります。私はC#を初めて使用しますが、これまでに行ったことから、辞書は単なる参照であり、実際にはデータを格納しないという結論に達しましたか?
foreach (Microsoft.Office.Interop.Excel.Range row in range1.Rows)
{
string upc;
upc = row.Cells[1, 2].Value2;
list.Add(upc);
list.Add(row.Cells[1, 3].Value2);
list.Add("6");
//add row to dictionary
dictionary.Add(row.Cells[1, 1].Value2, list);
}
この例では、range1のすべての行に対してこのループを続行すると、すべての行のデータがリストに追加されます。IE、ディクショナリの最後の項目には、範囲内のすべての行の各属性が含まれます。繰り返しごとにリストをクリアしようとしましたが、辞書から値がないと報告され、辞書エントリごとに個別のリストを作成する必要があると思いましたか?どうすればこれを行うことができますか?これは最も効率的な方法ですか?何かがおかしいようです。ありがとう!