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

  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • justintimberlakeVEVO

    justintimber

    2 EYLÜL 2009
  • Submissions101

    Submissions1

    23 ŞUBAT 2007