学习C#应该解决这个问题还是不处理?我似乎找不到一个有效的答案,VS中的每一个动作都没有解决我在网上找到的问题答案,我要么不理解,要么也失败了。为什么我在这里问。
`
public class AdventureService : IAdventureService
{
public Adventure GetInitialAdventure()
{
var basePath = $" {AppDomain.CurrentDomain.BaseDirectory}Adventures";
var initialAdventure = new Adventure();
if (File.Exists($"{basePath}\initial.json"))
{
var directory = new DirectoryInfo(basePath);
var initialJsonFile = directory.GetFiles("initial.json");
using (StreamReader fi = File.OpenText(initialJsonFile[0].FullName))
{
initialAdventure = JsonConvert.DeserializeObject<Adventure>(fi.ReadToEnd());
}
}
return initialAdventure;
}
`
如果反序列化调用返回null,您需要决定该方法将执行什么操作。
一个选项是该方法返回null,在这种情况下,您只需要更改返回类型:
public Adventure? GetInitialAdventure()
{
//Etc.
如果您希望该方法从不返回null,则可以更改return语句,使其用新的Adventure
替换null。
//Rest of method up here
return initialAdventure ?? new Adventure();
}
也许还有其他选择,但这些都是最基本的。