Vorrei memorizzare un array di stringhe monodesmensionale come una voce nel mio appSettings
. Non posso semplicemente separare gli elementi con ,
o |
perché gli elementi stessi potrebbero contenere quei personaggi.
Stavo pensando di archiviare l’array come JSON
poi di deserializzare usando JavaScriptSerializer
.
Esiste un modo “giusto” / migliore per farlo?
(La mia idea JSON
sembra un po ‘hacky)
È ansible utilizzare AppSettings con System.Collections.Specialized.StringCollection
.
var myStringCollection = Properties.Settings.Default.MyCollection; foreach (String value in myCollection) { // do something }
Ogni valore è separato da una nuova riga.
Ecco uno screenshot (IDE tedesco ma potrebbe essere comunque utile)
Per i numeri interi ho trovato il modo seguente più veloce.
Prima di tutto crea una chiave appSettings con valori interi separati da virgole nel tuo app.config.
Quindi dividere e convertire i valori in array int utilizzando LINQ
int[] myIntArray = ConfigurationManager.AppSettings["myIntArray"].Split(',').Select(n => Convert.ToInt32(n)).ToArray();
Si può anche considerare di utilizzare la sezione / raccolta di configurazione personalizzata per questo scopo. Ecco un esempio:
È inoltre ansible controllare questo eccellente componente aggiuntivo di Visual Studio che consente di progettare graficamente le sezioni di configurazione .NET e genera automaticamente tutto il codice richiesto e una definizione di schema (XSD) per loro.
Per le stringhe è facile, basta aggiungere quanto segue al tuo file web.config
:
e quindi è ansible recuperare il valore in un array come segue:
var myArray = ConfigurationManager.AppSettings("myStringArray").Split(',');