字符串比较对于相同的字符串返回 False

时间:2021-01-13 10:30:36

标签: c# string unity3d string-comparison

我有一段在 Unity 中运行的简单代码:

string cmd = inputField.text;

foreach (var command in _commands)
{
    Debug.Log("." + command.commandPattern + ".");
    Debug.Log("." + cmd + ".");
    Debug.Log(String.Equals(command.commandPattern.ToString(), cmd.ToString()));

}

_commands 是一个 Command 对象列表,它包含一个继承自 ResetCommandCommand。以下是课程:

[Serializable]
public class Command
{
    [SerializeField]
    public string commandPattern;

    public void Execute() { }
}

[Serializable]
public class ResetCommand : Command
{
    public ResetCommand()
    {
        commandPattern = "reset";
    }

    public new void Execute()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
    }
}

运行代码后,Unity 控制台输出如下所示:

Unity Console

这种比较似乎不起作用。知道我在这里做错了什么吗?

编辑: 这是调试器的屏幕截图。

scr

0 个答案:

没有答案