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

  • andyabc45

    andyabc45

    1 Mayıs 2011
  • Bryan Adams

    Bryan Adams

    30 Mart 2006
  • L33TNoonProductions

    L33TNoonProd

    24 EYLÜL 2010