SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Abbeydabby0277's channel

    Abbeydabby02

    9 ŞUBAT 2012
  • MrExcite96

    MrExcite96

    17 ŞUBAT 2011
  • TheFlightsuit

    TheFlightsui

    22 HAZİRAN 2009