2009-09-12 16 views
7

Web.config dosyamdan bazı uygulamaları filtrelemek için Linq'i nasıl kullanabileceğimi anlamaya çalışıyorum.Web.config AppSettings'i tekrarlamak/filtrelemek için Linq kullanabilir miyim?

i gibi bir şey yapmaya çalışıyorum (yanlış sözdizimi olan) Aşağıdaki: -

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

Yanlış ne yaptım?

düzenleme: KeysCollection sadece><T IEnumerable IEnumerable değil uygular çünkü eklenen screenie (burada a link to it var)

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

+0

Aldığınız hata nedir? Yukarıdakiler iyi görünüyor ... –

+0

Bağlantı ve görüntü eklendi. –

cevap

9

: İlk Tuşlar mülkiyet Cast yöntemini kullanarak gibi bir şey deneyin

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

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

Daha da iyisi :) harika! Teşekkürler :) –

1

olabilir. Değerleri istiyorsanız bu deneyin

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

Evet, iyi görünüyor. –

0

aşağıdaki

  var appStngVals = from s in ConfigurationManager.AppSettings.OfType<string>() 
         where s.StartsWith("Foo") 
         select ConfigurationManager.AppSettings[s]; 
düşünmek başardı

(bir konsol uygulamasına uygulanabilir)

İlgili konular