7

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

4

3 に答える 3

9

値が必要な場合は、これを試してください。

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

var query = from string q in settings.Keys
            where q.StartsWith("Foo")
            select settings[q];
于 2009-09-12T04:48:00.347 に答える
1

KeysCollection が IEnumerable <T> ではなく IEnumerable のみを実装していることが原因である可能性があります。最初に Keys プロパティで次のような Cast メソッドを使用してみてください。

var query = from q in System.Web.Configuration.WebConfigurationManager.AppSettings.Keys.Cast<string>()
        where q.StartsWith("Foo")
        select q;
于 2009-09-12T04:34:09.647 に答える
0

私は次のように考えることができました

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

(コンソール アプリに該当する場合)

于 2010-11-10T10:12:59.490 に答える