如何在达到目标时重置计数器

时间:2015-06-26 18:16:25

标签: c# winforms

我有这段代码:

var cat = solutions
                .Descendants("Solution")
                .Select(x => new
                {
                    ID = (string)x.Element("ID"),
                    Properties = x.Elements("Property").Select(p => new
                    {
                        Name = (string) p.Element("Name"),
                        Value = (string) p.Element("Value"),

                        idx = i++
                    })
                    .Where(y => indexesToChoose.Contains(y.idx))
                    .OrderBy(z => indexesToChoose.FindIndex(p => p == z.idx))
                    .ToList()
                });

我只希望它计数到11,然后重置为0重新开始,所以例如它会读取8,9,10,11,0,1等。

2 个答案:

答案 0 :(得分:2)

如果您只希望idx的值转到11然后翻转,您可以尝试此而不仅仅是i ++:

idx = (i < 12 ? i++ : i = 0);

答案 1 :(得分:2)

最简单的方法是使用模数:

idx = i++ % 12