Jak mogę filtrować słownik za pomocą LINQ i zwracać go do słownika tego samego typu

Mam następujący słownik:

Dictionary<int,string> dic = new Dictionary<int,string>();
dic[1] = "A";
dic[2] = "B";

Chcę filtrować pozycje słownika i przypisać wynik do tej samej zmiennej:

dic = dic.Where (p => p.Key == 1);

Jak mogę zwrócić wynik jako słownik tego samego typu [<int,string>] ?

Próbowałem, ale nie działa. Z góry dzięki.
Author: Homam, 2010-10-21

1 answers

ToDictionary to jest droga. Torobi działa-po prostu używałeś go nieprawidłowo, prawdopodobnie. Spróbuj tego:

dic = dic.Where(p => p.Key == 1)
         .ToDictionary(p => p.Key, p => p.Value);

Powiedziawszy to, zakładam, że naprawdę chcesz innegoWhere filtra, ponieważ twój obecny znajdzie tylko jeden klucz...

 140
Author: Jon Skeet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-21 15:15:26