2016-04-10 38 views
2

Xamarin'e bakmaya başladım ve önceden oluşturulmuş kişiler örnek uygulamasını indirdim.Xamarin örnek projeler derlenmiyor

ben Google daha hiç meyve arama, daha önce görmedim garip sözdizimi dolu olduğu için, Visual Studio derleme değil .. eample için

, bu garip:

[JsonIgnore] 
public string AddressString => string.Format(
    "{0} {1} {2} {3}", Street, 
    !string.IsNullOrWhiteSpace(City) ? City + "," : "", 
    State, PostalCode); 

[JsonIgnore] 
public string DisplayName => ToString(); 

[JsonIgnore] 
public string DisplayLastNameFirst => $"{LastName}, {FirstName}"; 

[JsonIgnore] 
public string StatePostal => State + " " + PostalCode; 

public override string ToString() 
{ 
    return FirstName + " " + LastName; 
} 

Bu garip lamda ifadeler - bunlar nedir? Neden "=" değiller? Ve $ işaretleri? .NET derleyicisi hepsini dağıtır.

Bu

başka biri:

static int MatchScore(Acquaintance c, string query) 
{ 
    return new[] 
    { 
     $"{c.FirstName} {c.LastName}", 
     c.Email, 
     c.Company, 
    }.Sum(label => MatchScore(label, query)); 
} 

derleyici diyor {ve} bekleniyor ...

son 5 yıl içinde ne kaçırdım ???

cevap

10

Gördüğünüz tuhaf sözdizimi C# 6 sözdizimi. Derlemek için projeyi VS 2015'te açmanız gerekecek.

Lambda ifadelerinden ilki olan Expression Bodied Members.

public string AddressString 
{ 
    get 
    { 
     return string.Format("{0} {1} {2} {3}", 
       Street, !string.IsNullOrWhiteSpace(City) ? City + "," : "", 
       State, PostalCode); 
    } 
} 

$ işareti ile ikincisi string interpolation olduğu gibi ilk örneği yazabiliriz ve string.Format

ile değiştirebilirsiniz