2009-09-12 8 views
7

Próbuję dowiedzieć się, w jaki sposób mogę użyć Linq do odfiltrowania niektórych moich appsettings z mojego pliku web.config.Czy mogę używać Linq do iterowania/filtrowania moich ustawień aplikacji web.config?

staram się zrobić coś jak następuje (która źle składnia): -

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

co zrobiłem źle?

edit: dodaje screenie (oto a link to it)

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

+0

Jaki jest błąd, który otrzymujesz? Powyższe wygląda dobrze ... –

+0

Dodano link i obraz. –

Odpowiedz

9

spróbować, jeśli chcesz wartości:

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

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

Jeszcze lepiej :) super! dzięki :) –

1

Może być, ponieważ nie tylko KeysCollection implementuje IEnumerable IEnumerable <T>. Spróbuj użyć metody rzucony na posesji Keys pierwszy coś takiego:

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

Tak, wygląda dobrze. –

0

byłem w stanie myśleć o następującym

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

(dotyczy aplikacji konsolowej)

Powiązane problemy