我有一个配置文件,允许用户为下拉框选择其他值。
<add key="confname1" value="localhost" />
<add key="confaddress1" value="127.0.0.1" />
<add key="confname2" value="google" />
<add key="confaddress2" value="8.8.8.8" />
首先我需要迭代地添加所有&#34; confname&#34;的值。用于识别的下拉列表的键,稍后将用于引用其相关的&#34; confaddress&#34;。我尝试使用类似的东西进行循环:
for (i =1; i < [totalconfigs]; i++)
{
cbxConfig.Items.Add(ConfigurationManager.AppSettings["confname{0}",index])
}
我遇到的问题是如何创建一个终止循环,该循环使用基于可用配置数量的最大值(上面引用[totalconfigs]),因为用户可以添加尽可能多的&# 34; confname&#34; +&#34; confaddress&#34;他们想要成对。
是否可以使用Configuration.AppSettings.AllKeys之类的东西从配置文件创建一个计数器最大值,并使用限定符来选择&#34; confname&#34;然后用它来选择相关的值?
答案 0 :(得分:0)
这应该可以解决问题。
var maxIndex = ConfigurationManager.AppSettings.AllKeys
.ToList()
.Where(k => k.StartsWith("confname"))
.Count();
for (var index = 1; index <= maxIndex; index++)
{
cbxConfig.Items.Add(ConfigurationManager.AppSettings["confname{0}", index])
}