2013-11-25 28 views
6

Özel nesnelerin bir listesini aldım, Aslında bunlar IEnumerable koleksiyonunda sakladığım öğelerdir. Listeyi virgülle ayrılmış bir dizeye dönüştürmek istiyorum, ancak yalnızca belirli bir özellik istiyorum, Özel bir nesne listesinden belirli bir özelliğe sahip virgülle ayrılmış bir dizeyi nasıl oluşturabilirim?Listeyi belirli bir özellik tarafından virgülle ayrılmış bir dizeye dönüştürmenin en kolay yolu?

Ben bir "Foreach/For (int i .... " kullanarak virgülle ayrılmış listesini oluşturabilir biliyorum ama kolay ve kolay yolu ne olacağını Yani bu için daha iyi bir yolu olduğunu düşünüyorum?

Bu, benim liste

IEnumerable<BAL.Category> categories = chklCategories.CheckedItems.Cast<BAL.Category>(); 
      //Category object has a property called Name , I want the list from that property 

cevap

13

Bu çok kolay değil var mı?

string sCategories = string.Join(",", categories.Select(x => x.Name)); 
0

Sadece bununla deneyin.

string.Join<string> yönteminin bu sürümünü kullanarak, koleksiyonunuzu eklemeden önce kopyalarını azaltabilirsiniz.

static string CombineList(IEnumerable categories) 
{ 
    return string.Join<string>(",", categories.Select(x => x.Name)); 
} 
İlgili konular