在我的 app.config 文件中,我在 configuration
下有一个自定义部分具有共享相同 key 的多个条目。
<setion1>
<add key="key1" value="value1"/>
<add key="key2" value="value2"/>
<add key="key1" value="value3"/>
</section1>
我正在使用以下代码获取 NameValueCollection
反对阅读条目。
var list = (NameValueCollection)ConfigurationManager.GetSection("section1");
我希望此代码返回该部分下的每个条目,但它似乎只返回与键相关的唯一值。我怎样才能收集 <section1>
的所有 child ?不考虑 key ?
最佳答案
根据定义,键必须是唯一的。
“我必须在 app.config 中存储邮件收件人。每个部分都有自己的 MailTo 和 CC 条目列表,部分名称指示将邮件发送到哪个组。”
那么你就没有一堆 key /邮件对了。
你有一堆 key/mail[] 对。
对于每个键,您都有一个值的集合。所以你使用了一个值的集合。至极的答案是这样的:https://stackoverflow.com/a/1779453/3346583
当然,在那种情况下,可扩展性可能是个问题。但是,如果您需要可扩展性,那么无论如何您应该将其解决为数据库/XML 文件/其他数据结构中的 1:N 关系。而不是 app.onfig 条目。
关于c# - 在自定义部分中获取同一键的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52947538/