App.Config setting to ComboBox

本文关键字:ComboBox to setting Config App | 更新日期: 2023-09-27 18:12:27

下面是App.Config Code

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <appSettings>
        <add key="DBServer" value="Localhost"/>
        <add key="DBServer" value="Sql2005rs"/>
        <add key="DBName" value="Everest"/>
   </appSettings>
</configuration>

我试图让值本地主机和Sql2005rs在组合框中返回,这是我使用的,有人能告诉我为什么失败吗?

public Form1()
{
    InitializeComponent();
        var DBServerNames = ConfigurationManager.AppSettings.AllKeys .Where(key => key.StartsWith("DBServer")) .Select (key => ConfigurationManager.AppSettings[key]) .ToArray();
        DBServer.Items.AddRange(DBServerNames);
}

然而它只返回sql2005rs有人知道为什么吗?

App.Config setting to ComboBox

当您使用相同的键有多个设置时,您将始终获得最后一个。当你有多个相同的键时,每个键都会被下一个键覆盖。

因此,与其这样做,这确实不是一件很好的事情-键应该是唯一的,就像在任何键/值字典中一样-不如将设置更改为:
<appSettings>
        <add key="DBServers" value="Localhost,Sql2005rs"/>
        <add key="DBName" value="Everest"/>
   </appSettings>

然后取出DBServers值并解析它。比如:

string[] myServers= ConfigurationManager.AppSettings["DBServers"].Split(',');