繁体   English   中英

Xamarin示例项目没有编译

[英]Xamarin sample projects not compiling

我刚开始看Xamarin并下载了一个预建的联系人示例应用程序。

它不能在Visual Studio中编译,因为它充满了我以前从未见过的奇怪语法,搜索谷歌并没有结果。

例如,这很奇怪:

[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;
}

这些奇怪的lambda表达式 - 它们是什么? 他们为什么不“=”? 美元符号? .NET编译器将它们全部吐出。

这是另一个:

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

编译器说{和}是预期的......

在过去的5年里我错过了什么?

您看到的奇怪语法是C#6语法。 您需要在VS 2015中打开项目进行编译。

第一个带有lambda表达式的是Expression Bodied Members 您可以将第一个示例重写为

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

第二个带$符号的是字符串插值 ,你可以用string.Format替换它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM