【问题标题】:Fill array out with loop用循环填充数组
【发布时间】:2020-09-11 18:44:38
【问题描述】:

您好,我一直在尝试使用 for 循环打印出 7、6、5、4、3、2、1

int[] numbers = new int[7];

for (int i = 7; i < numbers.Length; i--)
        {
            numbers[i] = i - 1;
            Console.WriteLine(numbers[i]);
        }

也一直在尝试用while look打印出1、2、3、4、5、6、7

int[] numbers2 = new int[7];
int j = 1;

while (j > numbers2.Length)
        {
            Console.WriteLine(array[j]);
            j++;
        }

谁能指出我正确的方向?

【问题讨论】:

  • for (int i = numbers.Length -1; i &gt;= 0; i--) {numbers[i] = i + 1; Console.WriteLine(numbers[i]);}

标签: c# arrays for-loop while-loop


【解决方案1】:

试试这个:

int[] numbers = new int[7];

for (int i = 7; i > 0; i--)
{
    numbers[i - 1] = i;
    Console.WriteLine(numbers[i - 1]);
}

由于您要去down,您还必须修改循环条件以在 i 太低时停止,在这种情况下为 0。

您还可以迭代反向范围:

var range = Enumerable.Range(1, 7).Reverse();
foreach (var number in range)
{
    Console.WriteLine(number);
}

或者使用while:

var currentNumber = 7;
while (currentNumber > 0)
{
    Console.WriteLine(currentNumber--);
}

【讨论】:

    【解决方案2】:

    当然,通过使用断点并逐步跟踪代码,您可以轻松找到代码中行为不端的部分。 通过这种方式,您可以学习新事物,而不仅仅是解决您的问题。 我认为以下链接将对您有所帮助: https://docs.microsoft.com/en-us/visualstudio/debugger/debugger-feature-tour?view=vs-2019

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-21
      • 2014-04-09
      • 2015-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多