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

问题描述 投票:0回答:2

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

我正在函数中创建一个新字符串,从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 hereenter image description here

以下是我在userInfo中设置其他字符串的方式:

public string userID { get; private set; } 
string unity3d if-statement string-comparison
2个回答
0
投票

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

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.