Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对象引用未设置为对象的实例(C#)_C# - Fatal编程技术网

对象引用未设置为对象的实例(C#)

对象引用未设置为对象的实例(C#),c#,C#,我似乎无法使其正常工作,打开c#项目文件(.exe)时出现错误,并显示“对象引用未设置为对象的实例”。这是线和下面的线 // Update the actual position Actor.Position = new Vector3( Actor.PositionToSet.X, Actor.PositionToSet.Y, (Math.Rou

我似乎无法使其正常工作,打开c#项目文件(.exe)时出现错误,并显示“对象引用未设置为对象的实例”。这是线和下面的线

// Update the actual position

Actor.Position = new Vector3(
                        Actor.PositionToSet.X, 
                        Actor.PositionToSet.Y, 
                        (Math.Round(
                            GetUserStepHeight(
                                Actor.PositionToSet),
                                1)));

Actor.PositionToSet = null;

请检查
Actor
Actor.PositionToSet
是否不为空。这是唯一的原因。

可能性也是 1. <代码>参与者为
或 2. <代码>参与者.位置设置为
null

要检查,请选择以下选项之一:

if(Actor == null){
    System.Console.WriteLine("Actor is NULL");
}

if(Actor.PositionToSet == null){
    System.Console.WriteLine("Actor.PositionToSet is NULL");
}
或者在Visual Studio中使用逐行调试器

以下是我多年前得到的一条建议:

  • 在编写代码之前先思考,并建立一个代码的心智模型,然后当事情破裂时,只需反思出了什么问题,而不必查看代码

  • 单元测试代码,使其成为编码方法的标准实践。这将为您节省数年的调试时间


  • 抱歉,我是新来的,怎么做?:sweel Actor.PositionToSet为null???@user2975533是否为null?Actor.PositionToSet?行中显示Actor.PositionToSet=null;在下一行。主线是中间的一行。@user2975533您确定Actor.PositionToSet在设置为NULL之前不为NULL吗?只是问一下,在中间一行之前添加我发布的代码,然后告诉我你看到了什么。它现在工作得很好,当我在游戏中遇到某个块时,该文件会关闭,它会使“模拟器”崩溃。现在,当我浏览1:P时,它只是在控制台中显示了大量的行:谢谢!