2013-07-29 18 views

Odpowiedz

45

Nie trzeba używać LINQ w celu uzyskania wartości. Dictionary(TKey, TValue) ma właściwość, która posiada wartości, Dictionary(TKey, TValue).Values:

var fields = objDictionary.Values.ToList(); 
+14

Warto zauważyć, że metoda 'ToList()' klasy 'Dictionary .ValueCollection' jest w rzeczywistości metodą rozszerzenia w' System.Linq'. Jednakże, ponieważ 'ValueCollection' implementuje' ICollection' i 'IEnumerable', możesz dodać wartości do listy bez konwersji. – LiquidPony

+0

Warto również zauważyć, że można użyć metody rozszerzenia 'AsEnumerable()' Linq, aby uzyskać 'IEnumerable' zamiast' List'. 'objDictionary.Values.AsEnumerable()'. – RubberDuck

3

otrzymasz błąd kompilatora po prostu próbujesz konwertować wartości słownika do listy z ToList():

 Dictionary<int, int> dict = new Dictionary<int, int>(); 
     var result = dict.Values.ToList(); 

Chyba, że ​​to "using System.Linq" w twoim pliku.

Powiązane problemy