首页 > 解决方案 > 错误 CS0019:运算符“<”不能应用于“字符串”和“整数”类型的操作数

问题描述

错误 CS0019:运算符“<”不能应用于“字符串”和“整数”类型的操作数

我尝试了一些方法来解决这个问题,但这仍然是一个错误。谁能帮我?

public GameObject Xvreli = null;
public int zPos;
public int enemyCount;

void Start()
{
    StartCoroutine(EnemyDrop());
}

IEnumerator EnemyDrop()
{
    while (Xvreli.name < 5)
    {
        zPos = Random.Range(0, 1000);
        Instantiate(Xvreli, new Vector3(0, 0, zPos), Quaternion.identity);
        yield return new WaitForSeconds(0.3f);
        Xvreli.name += 2;
    }

}

标签: c#unity3d3d

解决方案


好吧,错误是不言自明的..

看起来您想要做的是将name值解析为 int 值并返回例如使用int.Parse

int nameInt;
while((nameInt = int.Parse(Xvreli.name)) < 5)
{
    ...

    Xvreli.name = (nameInt + 2).ToString();
}

或者也int.TryParse(不抛出格式异常)

while (int.TryParse(Xvreli.name, out var nameInt) && nameInt < 5)
{
    ...

    Xvreli.name = (nameInt + 2).ToString();
}

推荐阅读