抱歉,我知道这真的很老了,最初的问题是 DO 而不是 FOR,但我想补充一下我为实现这一结果所做的事情。当我最初用谷歌搜索这个问题时,尽管我的查询是 FOR 循环,但这是首先返回的内容。希望有人在路上会发现这很有帮助。
下面将打印数组的奇数索引 - 在本例中为 Console App args。
using System;
namespace OddCounterTest
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine(i);
i++;
}
}
}
}
带有 6 个参数的输出将是:1 3 5
将 i++ 移至 for 循环的第一步将为您提供偶数。
using System;
namespace EvenCounterTest
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < args.Length; i++)
{
i++;
Console.WriteLine(i);
}
}
}
}
输出将是:2 3 4
这是设置,因此您也可以获得 args 的实际值,而不仅仅是 args 索引的计数和打印。只需创建一个字符串并将字符串设置为 args[i]:
string s = args[i];
Console.WriteLine(s);
如果您在打印数字时需要计算并排除“0”,就像问题最初询问的那样,那么设置您的 for 循环,如下所示:
for (int i = 1; i <= args.Length; i++);
请注意,在此示例中,“i”最初是如何设置为 1 的,并且 i 小于或等于数组长度,而不是简单地小于。注意你的小于和小于/等于,否则你会得到 OutOfRangeExceptions。