29 Temmuz 2009, ÇARŞAMBA
Seri Listesinden Çoklu seçim Alanları
ASP.NET C# ben bir referans
public struct Data
{
public int item1;
public int item2;
public int category_id;
public string category_name;
}
ve bunların bir Listesi var. Category_id seçin ve category_name, FARKLI ve category_name bir ORDERBY nihayet hareket etmek istiyorum.
Ben şimdi ne var burada:
List<Data> listObject = getData();
string[] catNames = listObject
.Select(i=> i.category_name)
.Distinct()
.OrderByDescending(s => s)
.ToArray();
Bu tabii ki sadece kategori adını alır. Benim soru, nasıl birden fazla alanı ve veri yapısı, ben bu dükkanda ne olacak (string[])?
EDİT
Yapılar listesi kullanarak taş koymak değil. Eğer benim desteğim veri yapısı seçer kolaylaştırmak için (bu çok yazacağım) değiştirmek için tavsiye ederim varsa seve seve tavsiyelerini almak isterim.
CEVAP
29 Temmuz 2009, ÇARŞAMBA
Anonim türleri kuvvetle daha sonra kodunuzda yazılan veri yapılarına keyfi alanları seçmek için izin:
var cats = listObject
.Select(i => new { i.category_id, i.category_name })
.Distinct()
.OrderByDescending(i => i.category_name)
.ToArray();
(Görünüşe göre) daha sonra kullanmak için saklamak gerekir, çünkü, GroupBy operatörü kullanabilirsiniz:
Data[] cats = listObject
.GroupBy(i => new { i.category_id, i.category_name })
.OrderByDescending(g => g.Key.category_name)
.Select(g => g.First())
.ToArray();
Bunu Paylaş:
Nasıl SQL Server değerler listesinden ...
Nasıl Ctrl D Yüce Metin 2'de çoklu seç...
Ek açıklamalar olmadan Seri hale getir...
Nasıl bir WordPress kullanmak'in ...
Neden ilk eleman benim Raylar her zama...