SORU
21 EYLÜL 2010, Salı


SERİ OrderBy karşı ThenBy

Kimse arasındaki fark nedir: açıklayabilir

tmp = invoices.InvoiceCollection
              .OrderBy(sort1 => sort1.InvoiceOwner.LastName)
              .OrderBy(sort2 => sort2.InvoiceOwner.FirstName)
              .OrderBy(sort3 => sort3.InvoiceID);

ve

tmp = invoices.InvoiceCollection
              .OrderBy(sort1 => sort1.InvoiceOwner.LastName)
              .ThenBy(sort2 => sort2.InvoiceOwner.FirstName)
              .ThenBy(sort3 => sort3.InvoiceID);

Hangi veri 3 adet sipariş etmek istiyorum eğer doğru yaklaşım nedir?

CEVAP
21 EYLÜL 2010, Salı


GerekirkesinlikleOrderBy birden çok arama yerine kullanın. ThenBy. (Söz konusu parçalarından biri ThenBy kullanmak gerekiyordu sanırım. Bu yazının yazıldığı anda, iki parçacıkları aynıdır.)

Bunu öneririm:

tmp = invoices.InvoiceCollection
              .OrderBy(o => o.InvoiceOwner.LastName)
              .ThenBy(o => o.InvoiceOwner.FirstName)
              .ThenBy(o => o.InvoiceID);

Aynı adı her zaman nasıl kullanabileceğinizi unutmayın. Bu da eşittir:

tmp = from o in invoices.InvoiceCollection
      orderby o.InvoiceOwner.LastName,
              o.InvoiceOwner.FirstName,
              o.InvoiceID
      select o;

Eğer OrderBy birden çok kez adını etkin bir şekilde sırasını yeniden düzenlemektamamenüç defa... yani son çağrı etkin bir şekilde hakim olacak. Sanaolabilir(Nesneleri bu SERİ içinde) yazma

foo.OrderBy(x).OrderBy(y).OrderBy(z)

için eşdeğer olur

foo.OrderBy(z).ThenBy(y).ThenBy(x)

sıralama olarak sipariş kararlı, ama kesinlikle olmamalı:

  • Okumak çok zor
  • Tüm sırasını yeniden sıralar çünkü) gerçekleştirmek değil
  • Olabilir aslındadeğildiğer sağlayıcıları (SQL için örneğin ETMENİZ
  • OrderBy kullanılmak üzere tasarlanmıştır nasıl temelde değil.

OrderBy anlamı "en önemli" projeksiyon sipariş; ThenBy (tekrar) ikincil, üçüncül vb sipariş projeksiyonları belirtmek için kullanın.

Etkili bir şekilde, şöyle düşün: OrderBy(...).ThenBy(...).ThenBy(...) herhangi iki nesne için bir tek bileşik bir karşılaştırma oluşturmak, ve sonra sıra sıralamak için izin verirbir kezkompozit kullanarak karşılaştırma. İstediğin şey neredeyse kesin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Goran Dimov

    Goran Dimov

    1 HAZİRAN 2014
  • superemposed

    superemposed

    25 Aralık 2007
  • wowchick16

    wowchick16

    17 Mart 2007