webentwicklung-frage-antwort-db.com.de

Wie speichere ich eine Liste <string> in Settings.Default?

Ich habe eine ListBox in meinem Formular, ich möchte sie speichern und die Werte laden, wenn ich die Anwendung erneut starte.

Wie kann ich eine Liste unter PrjName.Properties.Settings.Default speichern?

38
BrunoLM

Ich habe herausgefunden, dass ich einen List<string> nicht direkt in den Anwendungseinstellungen speichern kann, aber ich habe gesehen, dass ich eine StringCollection speichern kann.

Und hier Ich habe herausgefunden, dass es sehr einfach ist, eine StringCollection in einen List<string> zu konvertieren.

var list = stringCollection.Cast<string>().ToList();
41
BrunoLM

Kein Problem! Erstellen Sie eine neue Einstellung, z. "MyListOfStrings", Typ spielt keine Rolle.

enter image description here

Öffnen Sie dann die Einstellungsdatei in einem XML-Editor

enter image description hereenter image description here

ihre Datei wird so aussehen:

enter image description here

Ändern Sie nun wie unten gezeigt und speichern Sie es

enter image description here

nun, das ist alles, jetzt wird es so aussehen:

enter image description here

und im Code:

enter image description here

76
pr0gg3r

Bei Verwendung des nativ unterstützten Typs System.Collections.Specialized.StringCollection

Ich habe diesen Code verwendet:

        System.Collections.Specialized.StringCollection SavedSearchTerms = new System.Collections.Specialized.StringCollection();

        if (Properties.Settings.Default.SavedSearches != null)
        {
            SavedSearchTerms = Properties.Settings.Default.SavedSearches;
        }

        SavedSearchTerms.Add("Any Value");

        Properties.Settings.Default.SavedSearches = SavedSearchTerms;
0
Joshua Lumley