我可以使用 Linq 来迭代/过滤我的 web.config AppSettings 吗?

发布于 2024-08-04 08:51:31 字数 536 浏览 5 评论 0 原文

我正在尝试弄清楚如何使用 Linq 从 web.config 文件中过滤掉一些应用程序设置。

我正在尝试做类似以下的事情(语法错误):-

var query = from q in System.Web.Configuration.WebConfigurationManager.AppSettings.Keys
            where q.StartsWith("Foo")
            select q);

我做错了什么?

编辑:添加了 screenie(这里是指向它的链接

替代文本 http://img21.imageshack.us/img21/5516/errorji.png

i'm trying to figure out how I can use Linq to filter out some of my appsettings from my web.config file.

i'm trying to do something like the following (which has wrong syntax) :-

var query = from q in System.Web.Configuration.WebConfigurationManager.AppSettings.Keys
            where q.StartsWith("Foo")
            select q);

what have I done wrong?

edit: added screenie (here's a link to it)

alt text http://img21.imageshack.us/img21/5516/errorji.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

骷髅 2024-08-11 08:51:31

如果您想要这些值,请尝试以下操作:

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

var query = from string q in settings.Keys
            where q.StartsWith("Foo")
            select settings[q];

Try this if you want the values:

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

var query = from string q in settings.Keys
            where q.StartsWith("Foo")
            select settings[q];
原谅过去的我 2024-08-11 08:51:31

可能是因为 KeysCollection 仅实现 IEnumerable 而不是 IEnumerable>。首先尝试在 Keys 属性上使用 Cast 方法,例如:

var query = from q in System.Web.Configuration.WebConfigurationManager.AppSettings.Keys.Cast<string>()
        where q.StartsWith("Foo")
        select q;

Could be because KeysCollection only implements IEnumerable not IEnumerable<T>. Try using the Cast method on the Keys property first, something like:

var query = from q in System.Web.Configuration.WebConfigurationManager.AppSettings.Keys.Cast<string>()
        where q.StartsWith("Foo")
        select q;
被你宠の有点坏 2024-08-11 08:51:31

我能够想到以下内容

            var appStngVals = from s in ConfigurationManager.AppSettings.OfType<string>()
                      where s.StartsWith("Foo")
                      select ConfigurationManager.AppSettings[s];

(适用于控制台应用程序)

I was able to think of the following

            var appStngVals = from s in ConfigurationManager.AppSettings.OfType<string>()
                      where s.StartsWith("Foo")
                      select ConfigurationManager.AppSettings[s];

(as applicable to a console app)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文