App.configで連想配列を保存するための最良の方法
-
12-12-2019 - |
質問
私は最近私のソフトウェアに取り組んできて、私は協会的な配列を保存することがどのようなものであるか疑問に思いました。
私が青い外に出てくることができる唯一のものは、このようなことをすることです:
<add key="disks" value="C|1|10,D|2|20,E|1|5,Z|1|3"/>
.
しかし、これは私の設定ファイルには多くの読みやすさを提供していないため、コンソールアプリケーションのように私の設定ファイルを読み取り可能にしたいです。
app.configファイルに指定されたディスクのディスクスペースをチェックするプログラムを書きましたが、ディスクの異なるしきい値が異なります。
どのようにそれを解決しますか? これが私の現在の設定ファイルの一部です。
<!-- 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"/>
.
PerfogmenCounterを使用しているPerformanceCounterプログラムと同じ原則を使用してデータを取得し、テキストファイルに保存します。
私は人々がここで私を助けることができることを願っています:)
解決
私はあなた自身の構成セクションを作成するようにあなたに提案します。カスタム設定により、読みやすさとタイプの安全性が向上します。カスタム構成を作成するためのリンクです > http://msdn.microsoft.com/en-us/library/2tw134k3.aspx. http://haced.com/ archive / 2007/03/11/custom-configuration-Sections-in-easy-steps.aspx (古いものですが、フォローが簡単)。
他のヒント
標準構成メカニズムがXMLシリアル化で機能する限り、app.configで辞書を格納するための最良の(およびIMHO、Wise)方法はList<KeyValuePair<K,V>>
です。
System.CollectionまたはList <> からHASHTABLEを使用することをお勧めします。
ハッシュテーブルのポインターはいくつかあります。 > http://www.dotnetperls.com/hashtable http://www.tutorialspoint.com/csharp/csharp_hashtable.htm
これが助けに役立つことを願っています!ありがとうございました:)