SORU
10 Mart 2009, Salı


SERİ: Nokta Gösterim vs Sorgu İfadesi

Genel olarak SERİ (şimdilik) toXML ve toSQL kullanmaya başladım. Bazen aynı sonuçları elde etmek için iki veya daha fazla yolları olduğunu gördüm. Bu basit bir örnek alırsak, ben de aynı şeyi tam olarak iade anladığım:

SomeDataContext dc = new SomeDataContext();

var queue = from q in dc.SomeTable
        where q.SomeDate <= DateTime.Now && q.Locked != true
        orderby (q.Priority, q.TimeCreated)
        select q;

var queue2 = dc.SomeTable
        .Where( q => q.SomeDate <= DateTime.Now && q.Locked != true )
        .OrderBy(q => q.Priority)
        .ThenBy(q => q.TimeCreated);

Ayrıca herhangi bir hata olabilir yapılan sözdizimi veya eksik parametre farkı, fikri olan, iki yolu vardır express aynı şey; anlıyorum ilk yöntemi vardır bazı sınırlamalar ve bu "nokta gösterim" daha kapsamlı, ama bunun dışında, herhangi bir diğer avantajı?

CEVAP
10 Mart 2009, Salı


"Nokta" gösterimi genellikle Lambda denir sözdizimi. İlk gösterim adları bir dizi gider ama ben genelde sorgu sözdizimi arayın.

Hangi konuda bir standart olarak kullanmalıyız 10 geliştiriciler ve tartışıyoruz uzun uzadıya bir takımda çalışıyorum. Genel olarak, daha tecrübeli (SERİ) geliştiriciler Lambda sözdizimi doğru göç ederler ama önemli istisnalar vardır.

Lambda daha kısa ama birden fazla tablo birleştirmeler bir kabus. Sorgu ile daha temiz sadece sözdizimi katıldı. Flip tarafında sadece Lambda sözdizimi içinde mevcut SERİ operasyonların bir sayı vardır: (Tek), İlk(), Count() vb.

Bu yüzden, en rahat hissettiğin şeyi kullanın ve deneyim kazandıkça, sizin tercihinize değişecektir farkındayız. Hem de okuma için güçlü olmak büyük bir değer olduğunu ve kesinlikle ikisinden de biraz kullanmak zorunda olduğu durumlar olacaktır. Diğer durumlarda bir stil için themselve borç verecek. Sonunda, hepsi aynı çalıştırılabilir kod çevrilmiş olur.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • captainpuppys2000

    captainpuppy

    20 HAZİRAN 2013
  • LatinNinja99

    LatinNinja99

    28 EKİM 2011
  • thenewboston

    thenewboston

    4 ŞUBAT 2008