嗨,我一直在尝试使用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]);
}
也试图用一眼的表情来打印出1、2、3、4、5、6、7
int[] numbers2 = new int[7];
int j = 1;
while (j > numbers2.Length)
{
Console.WriteLine(array[j]);
j++;
}
有人可以指出正确的方向?
尝试一下:
int[] numbers = new int[7];
for (int i = 7; i > 0; i--)
{
numbers[i - 1] = i;
Console.WriteLine(numbers[i - 1]);
}
因为您要进行down
,所以还必须修改循环条件以在我变得太低时停止,在这种情况下为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--);
}
如果for
循环下降并且循环计数器在每次迭代时递减,则应将其限制为i >= 0
或i > 0
。由于数组索引是从0
开始的,所以最后一个索引将是6
,而不是7
int[] numbers = new int[7];
for (int i = 6; i >= 0; i--)
{
numbers[i] = i + 1;
Console.WriteLine(numbers[i]);
}
如果可以定位C#8,则可以使用the index from end operator ^
填充数组
^
当然,通过使用断点并逐步跟踪代码,您可以轻松地找到行为不当的部分。这样,您可以学习新事物,而不仅仅是解决问题。我认为以下链接将为您提供帮助:for (int i = 1; i <= numbers.Length; i++)
{
numbers[^i] = i;
}