如何统计C#嵌套for循环中B++的执行次数并正确输出到控制台
C# 嵌套循环计数问题修复方案
问题根因
- 你复用循环变量
B作为计数参数是错误的:内外层for循环共用同一个B变量,B的数值仅代表当前循环迭代值,和你要统计的B++总执行次数没有直接对应关系 - 当前代码
Console.WriteLine缺少参数填充,且内层循环首次执行就调用return直接退出方法,无法完成全量循环统计 - 原有循环逻辑存在死循环风险:内层循环会将
B累加到40,外层循环终止条件为B != 20,后续B值永远不会等于20,循环会无限执行
修复后代码
int firsthousecase1 = 20; int thirdhousecase1 = 40; int value = 0; // 单独声明计数变量,和B++同步自增统计总执行次数 int totalTryCount = 0; // 调整外层循环条件,避免死循环,你可以根据实际业务需求修改终止条件 for (int B = 0; B < firsthousecase1; B++, totalTryCount++) { value += 1; for (; B < thirdhousecase1; B++, totalTryCount++) { value += 1; // 直接传入计数变量填充{0}占位符即可 Console.WriteLine("Case #{0}: {1}", totalTryCount, value); // 若不需要提前退出则删除下一行return语句 // return; } }
补充说明
- 如果你统计的总尝试次数和
value的累计值完全相等,也可以直接将value传入{0}占位符,无需额外声明计数变量 - 循环终止条件我暂时调整为了更安全的小于判断,你可以根据实际业务逻辑再做修改
内容的提问来源于stack exchange,提问作者s0lid
相关产品推荐
相关产品推荐

