Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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
同时触发if和else的BUG Unity C#_C#_.net_Debugging_Unity3d - Fatal编程技术网

同时触发if和else的BUG Unity C#

同时触发if和else的BUG Unity C#,c#,.net,debugging,unity3d,C#,.net,Debugging,Unity3d,我在使用最新版本的unity时遇到了一个非常奇怪的bug,IDE是visual studio 2015社区。我有一个按钮,当它被点击时会触发一个函数,并且会发送一个短字符串作为参数。在方法中,我首先检查字符串是否为null或空,如果是这种情况,我运行一些代码,否则我运行一些其他代码(标题很明显)。。问题是参数既不是null也不是空的,但是第一个条件被触发,我100%确定,因为我记录了操作的结果,就像下面的Debug.Log(“elementType:+elementType+”结果:“+stri

我在使用最新版本的unity时遇到了一个非常奇怪的bug,IDE是visual studio 2015社区。我有一个按钮,当它被点击时会触发一个函数,并且会发送一个短字符串作为参数。在方法中,我首先检查字符串是否为null或空,如果是这种情况,我运行一些代码,否则我运行一些其他代码(标题很明显)。。问题是参数既不是null也不是空的,但是第一个条件被触发,我100%确定,因为我记录了操作的结果,就像下面的
Debug.Log(“elementType:+elementType+”结果:“+string.IsNullOrEmpty(elementType))并且它基本上打印
火。。false
我还运行了调试器,以确保参数不是空的,但在触发if条件之后,它变得更奇怪了,else语句也被触发了

下面是一个视频,我在其中演示了问题:

下面是debug.log的屏幕截图:


我尝试重新启动Unity和visual studio,但没有成功。我还在这个方法上加了一个
,以防其他线程在同一时间神奇地访问同一个方法,当然不是这样了,不走运

可以在此处尝试答案,但不会将其标记为重复,因为答案似乎未被接受()。如果您将
Null
Empty
检查分离为两个不同的检查(如问题的第一次编辑所示)是否有效?2单独的if语句修复了问题是的,但是如果我将它们放在一个中,则仍然会导致错误。这似乎是一个有趣的错误。是的,在我以前的项目中,我只是从2D切换到3D。即使现在,它也工作得很好,绝对没有任何变化,但在3D项目中,它似乎出于某种原因不起作用。为什么不发布触发此功能的按钮代码呢?这可能就是问题所在。