SORU
29 Mayıs 2015, Cuma


Lambda ifadeleri farklı çeteleler toplanır, aşırı çözümleme sonucu iyileştirmeler?

Visual Studio 2015 RC dışında çalıştığınız sırada, daha önce çalışan kod üzerinde çalışma zamanı hatası aldım. Lambda* *3, debugger gibi bir işleve olan (x => x.CustomerStatusID == CustomerStatuses.Active) verilen gösterileri ifade ağacında bir fark. Bu gibi derlenmiş eskiden:

.Lambda #Lambda1<System.Func`2[Services.DataClasses.CustomerDC,System.Boolean]>(Services.DataClasses.CustomerDC $x)
{
    (System.Int32)$x.CustomerStatusID == 0
}

Ancak C# 6.0 şimdi gibi derler

.Lambda #Lambda1<System.Func`2[Services.DataClasses.CustomerDC,System.Boolean]>(Services.DataClasses.CustomerDC $x)
{
    (System.Int32)$x.CustomerStatusID == (System.Int32).Constant<Services.DataClasses.CustomerStatuses>(Active)
}

Benim ağaç-çapraz kod düzeltme basit ve ek ayrıntı takdir olsa da, başka sorunlar bu gibi dolaşan biliyor mu?

Alternatif olarak, herkes aşırı geliştirilmiş çözünürlük ile daha ne kadar özellikleri hakkında bilgi için bir bağlantı var mı? Hiç bulmak.

CEVAP
23 HAZİRAN 2015, Salı


Bu aşırı çözünürlük ile bir alakası yok. Önceki derleyici zamanından önce karşılaştırma-el-yan, böylece kaynak kodu ifadesine karşılık gelen atlama optimize edilmiş.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DJPixcell

    DJPixcell

    20 NİSAN 2007
  • Santozz Yazz

    Santozz Yazz

    23 Mart 2014
  • Tylerron

    Tylerron

    6 AĞUSTOS 2006