迭代地将C#配置文件中的值添加到下拉框中

时间:2014-11-27 00:48:31

标签: c# configuration iteration

我有一个配置文件,允许用户为下拉框选择其他值。

<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;然后用它来选择相关的值?

1 个答案:

答案 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])
}