簡體   English   中英

如何將值從web.config應用程序密鑰獲取到列表

[英]How to get values from web.config app key to a list

我的web.config中包含以下內容:

<add key="someValuestoReturn" value="60,59,58,57,56"/>

我想將這個整數值的列表返回到我的方法中,但是我很難從web.config調用值列表:

    Private int GetValues(){

    var _list = System.Configuration.ConfigurationManager.AppSettings["someValuestoReturn"].ToList();  //<< doesn't work

return _list
    }

實現這一目標的最佳方法是什么?

謝謝

我可能建議您以其他方式解決此問題。

首先創建一個空字符串列表,然后將其放入數組中:

之后,我們需要找到您的密鑰,並且需要將密鑰中的值獲取到新創建的列表中,但是由於您的值是逗號分隔的,因此我們必須注意拆分,因此請查看下面的代碼:

List<string> values = new List<string>();

foreach (string key in ConfigurationManager.AppSettings)
        {
            if (key.StartsWith("someValuestoReturn"))
            {
                string value = ConfigurationManager.AppSettings[key].Split(',');
                values.Add(value);
            }

        }

string[] myValuesfromWebConfig = values.ToArray();

就是這樣,您將所有值存儲在名為myValuesfromWebConfig的數組中

而且,如果您想要的不是字符串,則只需將列表/數組類型從string更改為int

如您所見,我包括了

string value = ConfigurationManager.AppSettings[key].Split(',');

有關拆分方法的更多信息

因為您的值是用逗號分隔的,所以我想您想將它們分別添加到數組/列表中。

謝謝

編輯:

由於您在注釋中寫的錯誤,我們可以跳過將其添加到數組中的操作,只需刪除該行,無論如何您都會將您的值存儲在列表values ,因此最后它看起來像這樣:

List<string> values = new List<string>();

foreach (string key in ConfigurationManager.AppSettings)
{
     if (key.StartsWith("someValuestoReturn"))
     {
                    string value = ConfigurationManager.AppSettings[key].Split(',');
                    values.Add(value);
     }

}

現在,如果您需要讀取該值或對它們執行任何操作,則可以遍歷它們,就是這樣,例如:

foreach(var item in values)
{
  //Do whatever you want with your item
}

返回的字符串不是List

對於List使用:

var _list = System.Configuration.ConfigurationManager.AppSettings["someValuestoReturn"].Split(",");
System.Configuration.ConfigurationManager.AppSettings["someValuestoReturn"].Split(',');

它將返回一個字符串數組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM