我正在试图弄清楚如何使用Linq从我的web.config文件中过滤掉一些我的appsettings。
我正在尝试执行以下操作(语法错误): -
var query = from q in System.Web.Configuration.WebConfigurationManager.AppSettings.Keys
where q.StartsWith("Foo")
select q);
我做错了什么?
编辑:添加了screenie(这里是a link to it)
答案 0 :(得分:9)
如果您想要值,请尝试此操作:
var settings = System.Web.Configuration.WebConfigurationManager.AppSettings;
var query = from string q in settings.Keys
where q.StartsWith("Foo")
select settings[q];
答案 1 :(得分:1)
可能是因为KeysCollection只实现IEnumerable而不是IEnumerable <T
&gt;。首先尝试在Keys属性上使用Cast方法,例如:
var query = from q in System.Web.Configuration.WebConfigurationManager.AppSettings.Keys.Cast<string>()
where q.StartsWith("Foo")
select q;
答案 2 :(得分:0)
我能够想到以下
var appStngVals = from s in ConfigurationManager.AppSettings.OfType<string>()
where s.StartsWith("Foo")
select ConfigurationManager.AppSettings[s];
(适用于控制台应用)