c# - 有没有办法将 Break 应用于此 For 循环?
问题描述
我一直在尝试解决此代码。此代码的目的是将在数组Memo
中找到的第一个空格(Id 为 0)添加到数组中。
但是,不知何故,break
并没有终止for
循环(这导致不断添加值......)。
预期结果必须是 555550000000000,
但它改为返回 000005555555555 。
我忽略了什么吗?或者也许我必须使用其他类型的循环?
using System;
public class Program
{
public static void Main()
{
int [] Memo = new int[15];
foreach(int i in Memo)
{
Memo[i] = 0;
}
int Empty = 0;
int size = 5;
int Value = 5;
int CheckPos;
for(int x = 0; x < Memo.Length; x++)
{
if (Memo[x] == 0)
{
Empty++;
}
else
{
Empty = 0;
}
if (Empty == size)
{
CheckPos = x - size + 1;
for (int j = CheckPos; j < size; j++)
{
Memo[j] = Value;
}
break;
}
}
foreach(int i in Memo)
{
Console.Write(Memo[i]);
}
}
}
解决方案
的内容Memo
还可以。问题是如何在foreach
循环中打印它。下面的结构会更正确:
foreach (int i in Memo)
{
Console.Write(i);
}
当您使用时,Console.Write(Memo[i]);
您正在传递要用作索引的元素的值。基本上前 5 次打印索引为 5 的元素,其余时间打印索引为 0 的元素。
推荐阅读
- java - Spring Data JPA(Hibernate)与动态条件的一对多关系
- angular - Angular 2+ 内容投影和组件属性绑定
- javascript - PHP致命错误:允许的内存大小为134217728字节已用尽(试图分配78字节)
- java - Java REST API POST 返回未来
- android - 在AlarmManager中重复警报中的不同间隔时间
- vue.js - v-for 将单个对象视为对象集合
- python - ImportError:无法导入名称“ReLU”。在 Keras 2.1.3 中
- javascript - javascript if-else 语句不起作用
- python - Python 在套接字接收上挂起,而 Wireshark 显示所有已收到
- eclipse - 如何将资源从一个 Maven 项目复制到另一个