-2

次のようなapp.configファイルがあります:-

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="botLogs" value="d:\TFS Projects-BotLogs/"/>
    <add key="botfolder" value="C:\BOTSCONFIG"/>
  </appSettings>
  <connectionStrings>
    <add connectionString="Server=1.1.1.1;Database=BGAppCrawling;UID=sa;Password=something;" name="VGDB"/>
    <add connectionString="Server=1.1.1.1;Database=BGMappingStaging;UID=sa;Password=something;" name="VGDBMapping"/>
  </connectionStrings>
</configuration>

これで、次のように appSettings セクションのキーに基づいて値を取得できます:-

string filePath = ConfigurationSettings.AppSettings["botLogs"].ToString();

しかし、 appSetting セクションの値に基づいてキーをフェッチしたい場合はどうすればよいですか?

4

4 に答える 4

0
foreach(string key in System.Configuration.ConfigurationSettings.AppSettings)
{   
 var key = key.ToString();   
 var value = ConfigurationSettings.AppSettings[key.ToString()];
 //Do something here
}

また

var settings = System.Web.Configuration.ConfigurationSettings.AppSettings;

var value = from string k in settings.Keys
            where k.StartsWith("MyValue")
            select settings[k];
于 2013-03-19T11:04:27.683 に答える
0

GetEnumerator method次のベースのコードを試すことができます:

NameValueCollection values = ConfigurationManager.AppSettings;
Iterate(values);    
public void Iterate(NameValueCollection myCollection)
{
    IEnumerator myEnumerator = myCollection.GetEnumerator();
    Console.WriteLine("KEY VALUE");
    foreach (String item in myCollection.AllKeys)
    Console.WriteLine(" {0,-10} {1}", item, myCollection[item]);
    Console.WriteLine();
}
于 2013-03-19T11:04:43.197 に答える
0

キーを値に、値をキーに置き換える必要があると思います。

<add  key="d:\TFS Projects-BotLogs/" value="botLogs"/>
<add  key="C:\BOTSCONFIG" value="botfolder"/>  

ありがとう

于 2013-03-19T11:12:08.260 に答える
0
 foreach (string key in Configuration.AppSettings.Settings.AllKeys)
        {
            string value = appSettings.Settings[key].Value;

            if (value.Equals(myValue))
            {
                 Console.WriteLine("Found Key: " + key);
                 break;
            }
        }
于 2013-03-19T11:06:23.617 に答える