Probleme mit Dictionary und string-Array



  • Moin moin,

    ich habe ein Problem mit dem Einfügen einer Liste in ein Dictionary.

    Ich habe im Prinzip eine Tabelle mit 16 Spalten und x Zeilen. Ich lese immer eine Zeile ein und speicher die in einer string-Liste. Sobald die Zeile fertig ist, füge ich die in mein Dictionary ein. Anschließend lösche ich die string-Liste und dann passiert das was ich nicht verstehe: Der Eintrag in meinem Dictionary ist auch weg:

    Testcode:

    while (Worksheet.Cells[iZeile, iAnzahl_Spalten].Value != null)
    {
        WaWi_Data.Add(Worksheet.Cells[iZeile, iAnzahl_Spalten].Value);
        iAnzahl_Spalten++;
    }
    
    iZeile++;
    
    WaWi_Data.Add("Hyperlink");
    neu.Add(iKey, WaWi_Data);
    iKey++;
    
    while (Worksheet.Cells[iZeile, 1].Value != null)
    {
        WaWi_Data.Clear();  // Hier passiert's
    
        for (int i = 1; i <= iAnzahl_Spalten; i++)
        {
            WaWi_Data.Add(Convert.ToString(Worksheet.Cells[iZeile, i].Value));
        }
    
        neu.Add(iKey, WaWi_Data);
        iZeile++;
        iKey++;
    }
    

    Wieso passiert das?
    Grüße
    Heinrich



  • Stichwort: Referenz

    Du muß ein neues Objekt (Liste) erzeugen und dem Dictionary hinzufügen.



  • Stimmt, Danke!


Anmelden zum Antworten