Unity:在这种情况下,比较字符串似乎不起作用?

时间:2020-01-20 23:37:12

标签: string unity3d if-statement string-comparison

我正在尝试与函数中的字符串进行比较,以便能够做到正确。但是,由于某些原因,我正在比较的两个字符串永远不会彼此相等。

我正在函数中创建一个新字符串,从Json获取数据,然后将该字符串与另一个类中的另一个字符串进行比较。由于某些原因,这不起作用。调试显示两个字符串相等,但是if语句返回false。

我创建了另外两个具有相同值(“ Hello”)的字符串变量(hello和hello2),这一次它可以正确比较。

检查以下图像。我究竟做错了什么? 如您在控制台中所见,两个字符串具有相同的值:

图像1.在这里创建字符串(zoneId)。

enter image description here

图像2.在相同功能的下一个相同的for循环中。 在这里,我试图将在此函数中创建的字符串与另一个类中的另一个字符串进行比较。 enter image description here

图像3。正如您在控制台中看到的那样,它遍历jsonArray。但是,即使两个字符串具有相同的值,它也会返回false。 enter image description here

图4和5。在这里,我正在使用该函数中的其他两个字符串进行测试,它们工作正常。 可以从另一个类中调用字符串吗?

enter image description here enter image description here

这是在userInfo中设置其他字符串的方式:

public string userID { get; private set; } 

2 个答案:

答案 0 :(得分:-1)

在图像3中,第二个2之前是否还有其他空间?

您如何处理Main.Instance.userInfo.zoneID

答案 1 :(得分:-1)

您需要使用string.Equals进行字符串比较,而不是==或!=。

Are string.Equals() and == operator really same?