2009-09-12 14 views
7

私はLinqを使って、web.configファイルからappsettingsのいくつかをフィルタリングする方法を見つけようとしています。Linqを使用してweb.config AppSettingsを繰り返し処理することはできますか?

私は(間違った構文を持っている)は、次のような何かをしようとしている

: -

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

私が間違って何をしましたか?

編集:KeysCollectionのみ><T IEnumerableをIEnumerableを実装していないため、追加screenie(ここではa link to itです)

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

+0

エラーは何ですか?上記のように見える... –

+0

追加されたリンクと画像。 –

答えて

9

::、最初のキープロパティにキャストメソッドを使用してのようなものを試してみてください

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

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

さらに良い:)素晴らしい!ありがとう:) –

1

が可能でした。あなたが値をしたい場合は、これを試してみてください

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

うん、いいね。 –

0

私は、次の

  var appStngVals = from s in ConfigurationManager.AppSettings.OfType<string>() 
         where s.StartsWith("Foo") 
         select ConfigurationManager.AppSettings[s]; 
を考えることができました

(コンソールアプリケーションに該当)

関連する問題