这里我有从json字符串获取库存的示例。
inventory = JsonUtility.FromJson<InventoryModel>GFile.GetPlayer(FileComponent.PlayerInventory));
因为我从文件加载该字符串,所以它可能只是空白,我想首先检查它是否为空,我会这样做:
if(GFile.GetPlayer(FileComponent.PlayerInventory) != " ")
{
inventory = JsonUtility.FromJson<InventoryModel>(GFile.GetPlayer(FileComponent.PlayerInventory));
}
所以我的问题是,如果有更优雅的方式来做这个而不是输入if这样的语句吗?
答案 0 :(得分:3)
为什么不喜欢这样? :
var player = GFile.GetPlayer(FileComponent.PlayerInventory);
if(!string.IsNullOrWhiteSpace(player)) {
inventory = JsonUtility.FromJson<InventoryModel>(player);
}
答案 1 :(得分:2)
我建议
string data = GFile.GetPlayer(FileComponent.PlayerInventory);
if(!string.IsNullOrWhiteSpace(data))
{
inventory = JsonUtility.FromJson<InventoryModel>(data);
}
这样你只需要调用一次GetPlayer,如果结果数据是空字符串或者是空白字符串并不重要 - 它仍然不会进入该块并设置库存。
修改强>
对于旧版本的.Net,这也可以使用
string data = GFile.GetPlayer(FileComponent.PlayerInventory);
if(data != null && data.Trim().Length == 0)
{
inventory = JsonUtility.FromJson<InventoryModel>(data);
}