我最近一直在研究我的软件,我一直想知道存储关联数组的最佳方法是什么。
我唯一能想到的就是做这样的事情:
<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"/>
我想对我的performancecounter程序使用相同的原理,该程序使用perfmon计数器来获取一些数据并将其存储在文本文件中。
我希望人们能在这里帮助我一点:)
答案 0 :(得分:4)
我建议您创建自己的配置部分。自定义配置提供更多可读性和类型安全性。以下是创建自定义配置的链接 http://msdn.microsoft.com/en-us/library/2tw134k3.aspx和 http://haacked.com/archive/2007/03/11/custom-configuration-sections-in-3-easy-steps.aspx(旧的但很容易理解)。
答案 1 :(得分:1)
就标准配置机制与XML序列化一起使用时,在App.config中存储词典的最佳(以及恕我直言,明智的)方式是List<KeyValuePair<K,V>>
。
答案 2 :(得分:0)
您可能希望从system.collection或List&lt;&gt;使用Hashtable
下面是哈希表的几个指针, http://www.dotnetperls.com/hashtable http://www.tutorialspoint.com/csharp/csharp_hashtable.htm
我希望这有帮助!!谢谢:))