确定基于0的阵列上的模数

时间:2011-10-17 16:47:05

标签: c#

我有一个数组,索引从0开始。我试图确定如何在数组中找到特定的项目。

  

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

我只想要2,6,10,14。如果它不是0索引数组,我可以在索引上做模数%3并得到我想要的但我无法弄清楚如何去做。

    string[] arr = new string[16];
    arr[0] = "data";
    arr[1] = "data";
    arr[2] = "data";
    arr[3] = "data";
    arr[4] = "data";
    arr[5] = "data";
    arr[6] = "data";
    arr[7] = "data";
    arr[8] = "data";
    arr[9] = "data";
    arr[10] = "data";
    arr[11] = "data";
    arr[12] = "data";
    arr[13] = "data";
    arr[14] = "data";
    arr[15] = "data";
    for (int i = 0; i < arr.Length; ++i)
    {
        if (i % 3 == 0)
        {
            Console.WriteLine(arr[i]);
            Console.ReadLine();
        }
    }
    Console.ReadLine();

这当然对我不起作用,我试过操纵'我',但我今天还没有喝足够的咖啡才能让它发挥作用。

3 个答案:

答案 0 :(得分:5)

看起来你想要

if(i % 4 == 2)

答案 1 :(得分:1)

我的猜测是你想要的:

if (i % 4 == 2)
{
    Console.WriteLine(arr[i]);
    Console.ReadLine();
}

或等效(但对其他值不太常见)

if ((i & 3) == 2)
{
    Console.WriteLine(arr[i]);
    Console.ReadLine();
}

答案 2 :(得分:1)

这应该适合你:

for (int i = 0; i < arr.Length; ++i)
{
    if(i % 4 == 2)
    {
        Console.WriteLine(arr[i]);
    }
}