You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity C#:i=24触发Debug.Log异常及变量重复声明问题求助

解决方案:仅在i=24时输出调试消息

首先明确:你的第一段代码逻辑本身是正确的——只有当循环变量i等于24时,才会执行Debug.Log输出。如果控制台出现了非预期的日志,大概率是SpawnPlatform()方法内部存在额外的日志输出,和这段判断代码无关。

以下是几种可靠的实现方式:

方式1:循环内直接判断(最直观)

保留原逻辑,确认SpawnPlatform()无额外输出即可,同时修正拼写错误:

for(int i = 0; i<25; i++)
{
    SpawnPlatform();
    if(i == 24)
    {
        Debug.Log("Congratulations starting");
    }
}

方式2:循环结束后直接输出

由于你的循环会执行25次(i从0到24),循环结束意味着已经处理完i=24的情况,可直接输出日志:

for(int i = 0; i<25; i++)
{
    SpawnPlatform();
}
Debug.Log("Congratulations starting");

方式3:修复变量作用域冲突(仅作演示)

你第二段代码的错误是重复定义了变量i(外部和循环内都声明了int i),导致作用域冲突。如果要在循环外使用变量,需避免重复声明,但注意循环结束后i的值是25而非24:

int i = 0;
for(; i<25; i++) // 不再重新声明int i
{
    SpawnPlatform();
}
// 循环结束后i=25,因此不能用i==24判断,直接输出即可
Debug.Log("Congratulations starting");

内容的提问来源于stack exchange,提问作者Ars Developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:45:33