Domanda

Ho lavorato al mio software ultimamente e mi sono chiesto qual è il modo migliore per memorizzare un array associativo.

L'unica cosa che potrei inventare fuori dal blu è fare qualcosa del genere:

<add key="disks" value="C|1|10,D|2|20,E|1|5,Z|1|3"/>
.

Ma questo non offre molta leggibilità nel mio file di configurazione e voglio che il mio file di configurazione sia leggibile in quanto è un'applicazione console.

Il motivo per questo perché ho scritto un programma che controlla lo spazio di diskspace dei dischi specificati nel file app.config, ma voglio soglie diverse per diversi dischi.

Come lo risolveresti? Ecco parte del mio file di configurazione corrente.

<!-- DISK FEATURE SETTINGS -->
  <!-- Type 1 is threshold by percentage and type 2 is threshold by a certain limit -->
  <add key="threshold_type" value="1" />
  <add key="threshold_limit" value="0,1" />
  <!-- Space_type defines if you want to limit using kilobytes (1), megabytes (2) or gigabytes (3) if using threshold_type 2 -->
  <add key="space_type" value="3" />
  <!-- Put the disks here delimited by a comma like this: C,D,E -->
  <add key="disks" value="C,D,E,Z"/>
<!-- SERVICE FEATURE SETTINGS -->
  <!-- Put the services here delimited by a comma like this: C,D,E -->
  <add key="services" value="spooler,ekrn,RadeonPro Support Service,TeamViewer6"/>
  <!-- Put this on 1 if you want to log your output to a text file -->
  <add key="logging" value="1"/>
.

Voglio utilizzare lo stesso principio per il mio programma performanti che utilizza i contatori perfmoni per ottenere alcuni dati e archiviarlo in un file di testo.

Spero che la gente possa aiutarmi per un po 'qui :)

È stato utile?

Soluzione

I suggerisco per creare la tua sezione di configurazione.La configurazione personalizzata fornisce più leggibilità e tipo di sicurezza.Ecco i collegamenti per creare configurazione personalizzata http://msdn.microsoft.com/en-us/library/2tw134k3.aspx e http://haacked.com/archive/2007/03/11/custom-configuration-sections-in-3-3-easy-steps.aspx (vecchio ma facile da seguire).

Altri suggerimenti

Per quanto riguarda il meccanismo di configurazione standard funziona con la serializzazione XML, il modo migliore (e, IMHO, il Wise) per negoziare i dizionari in app.config è un List<KeyValuePair<K,V>>.

È possibile utilizzare Hashtable da System.Collection o Elenco <>

di seguito sono alcuni suggerimenti per Hashtable, http://www.dotnetperls.com/hashtable http://www.tutorialspoint.com/csharp/csharp_hashtable.htm

Spero che questo aiuti !!Grazie :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top