Linq

2013-07-29 26 views
18

kullanarak sözlük değerlerini dönüştürün Aşağıdaki kod 'Bana lambda ifadelerinin değerlendirilmesi hata ayıklayıcıda geçerli değil'. Ben aşağıdan yanlış yapıyorum nerede önermek Lütfen -Linq

List<MyFieldClass> lstFiedls; 
lstFiedls = objDictionary.Select(item => item.Value).ToList(); 

Teşekkür, Sen değerlerini almak için Linq kullanmak gerekmez

+0

'objDictionary' türü nedir? –

cevap

45

.

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

Dahil sürece:

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

'Sözlük .ValueCollection 'sınıfının' ToList() 'yönteminin aslında' System.Linq' içinde bir uzantı yöntemi olduğunu belirtmek faydalı olabilir. Ancak, 'ValueCollection', 'ICollection' ve 'IEnumerable' özelliklerini uyguladığından, değerleri dönüştürmeden bir listeye ekleyebilirsiniz. – LiquidPony

+0

Ayrıca 'List' yerine' IEnumerable 'almak için 'AsEnumerable()' Linq uzantısı yöntemini kullanabileceğinizi de unutmayın. 'ObjDictionary.Values.AsEnumerable() '. – RubberDuck

3

Sadece ToList() ile bir listeye Sözlüğün değerlerini dönüştürmek için çalışan bir derleyici hatası alırsınız: Dictionary(TKey, TValue) değerlerini tutan bir özelliğe, Dictionary(TKey, TValue).Values sahiptir Dosyanızda "using System.Linq".