标识的每个项目按3和第二组3分组

时间:2016-04-22 09:13:19

标签: c# math

为标题道歉,我不确定如何真正解释,但说明会更清楚。

我需要在单个数据源的HTML页面中呈现一组div,在我的情况下,它是带有ItemTemplate的ASP.net转发器,div必须有一个"首先","第二","第三"每3个课程上课,每隔2个课程就会有一个课程#34;反向"从单个基于0的索引添加,例如:

first 
second 
third 
first reverse
second reverse
third reverse
first 
second 
third 
first reverse
second reverse
third reverse
first 
second 
third 

我设法用这个(模拟转发器):

    int i = 0;
    string[] row = new string[]{"first", "second", "third"};
    while(i<50){
        Console.WriteLine(row[i % 3] + " " + (((i-(i % 3)+1)%2) == 0 ? "reverse" :""));
        i++;
    }

(或,https://dotnetfiddle.net/vRA3Lr

每个&#34;第一个&#34;,&#34;第二个&#34;和#34;第三&#34;很明显我必须使用Mod操作数,但对于&#34;反向&#34;小组,我被困住了。

我不确定如何开始寻找解决方案,所以决定试一试,并设法提出((i-(i % 3)+1)%2)但我不确定为什么它正在工作!我知道,令人尴尬,但我真的好奇地发现:

  • 它是如何工作的?不是在寻找一个科学的解释,更像是为什么我每三个一组从这个公式得到0?
  • 这是满足上述要求的最佳解决方案吗?

谢谢, P上。

0 个答案:

没有答案