【发布时间】:2018-08-23 09:55:58
【问题描述】:
对于我的 Unity 游戏,我创建了一个包含 speedrun 时间的 JSON 文件。保存的时间是时间跨度字符串。加载数据时,我将字符串解析为 Timespan 值。保存时间时,我将时间跨度作为字符串保存到文件中。
JSON 文件中的示例级别:
{
"id": 1,
"personalBest": "00:00:00.0001336",
"perfectTime": "00:00:00.0001335",
}
如果一个级别还没有通过,我希望personalBest 属性的值是null 而不是这样的
00:00:00.0000000
或
99:99:99.9999999
在我的可序列化类中,我目前有此代码
[Serializable]
public class Level
{
public int id;
public string? personalBest; // this value could be null
public string perfectTime;
}
但我得到了这个错误
CS0453 类型“字符串”必须是不可为空的类型才能使用 它作为泛型类型或方法'System.Nullable'中的参数T
是否有解决办法?
【问题讨论】:
-
你应该看看this question上的brandonscript答案,它解释了很多。
-
应该关闭这个问题吗?
-
是的,它是重复的。请注意,您可能应该重新考虑保存内容的方式,您可以通过使
personalBest从包含 id 和时间的外部列表中获取值来避免将其保存为 null