c#新手需要了解如何修复此错误"可能的空引用返回";I'我在visualstudio中尝试了



学习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();
}

也许还有其他选择,但这些都是最基本的。

最新更新