Unity 5.5.2f1到5.6.1f1 - 插值字符串错误?

时间:2017-05-22 07:39:31

标签: c# unity3d c#-4.0

我刚刚将我的Unity版本从5.5.2f1更新为5.6.1f1。突然间我得到了错误:

  

不能使用特征“插值字符串”,因为它不是一部分   C#4.0语言规范

以下代码在更新之前运作良好。

public class SensorData
{
    public int Timestamp { get; set; }
    public float Humidity { get; set; }
    public float Temp { get; set; }
    public int Light { get; set; }
    public int Button { get; set; }

    public override string ToString()
    {
        return $"{Timestamp}, {Humidity}, {Temp}, {Light}, {Button}";
    }
}

我不知道它是否应该继续工作。

2 个答案:

答案 0 :(得分:0)

似乎插值字符串在更新后仍然无法正常工作。为了仍然使用我上面提到的代码,我用旧方法做了。

而不是:

AppException

我做了:

return $"{Timestamp}, {Humidity}, {Temp}, {Light}, {Button}";

答案 1 :(得分:0)

在Unity 2017中,如果更改Unity使用的.NET版本,现在可以在Unity中使用插值字符串。 插值字符串是.NET 4.6中发布的C#6中的一项功能。

要更改为.NET 4.6,请转到: Edit > Project Settings > Player,展开“其他设置”,然后将“脚本运行时版本”更改为.NET 4.6

有关更多信息,请参见: https://docs.unity3d.com/Manual/ScriptingRuntimeUpgrade.html

在Unity 2018中,默认情况下Unity应该使用.NET 4.x,因此您应该可以访问插值的字符串而不必进行任何更改。