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

  • bashirsultani

    bashirsultan

    22 Mart 2010
  • graham025

    graham025

    25 NİSAN 2006
  • psidot

    psidot

    2 Kasım 2006