如果我正在做游戏,并且我想从用户那里获取输入,然后将其存储在字符串中,然后检查它是否等于某项,然后执行某项。因此,如果输入==字符串,请执行某些操作。我已经尝试过的内容:
public class Code : MonoBehaviour
{
StringBuilder code = new StringBuilder(5, 100);
public string _code = "START";
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
code.Append(Input.inputString);
Debug.Log(code);
}
}
这确实将输入输出,但如果我尝试
if (code == _code)
{}
引发错误,“运算符'=='无法应用于类型为'StringBuilder'和'String'的操作数。
StringBuilder实际上是字符串生成器。不是字符串本身。你必须由ToString()得到它的结果。如果您对code
的日志为什么打印效果很好感到好奇,似乎Debug.Log(x)
在内部调用x.ToString()
。https://docs.microsoft.com/ko-kr/dotnet/standard/base-types/stringbuilder
if (code.ToString() == _code)
{
///any code you want
}