也许我在实施中缺少一些东西,或者我的理解。
所以我有一个列表的一定数量的元素,特别是在这种情况下7,我需要从这些元素的设置模式中获取信息。
有趣的是,元素实际上可以永远重复,所以我没有创建14或21等元素的列表,而是认为有一种方法可以用7来做。
例如,
LinkedList<string> list = new LinkedList();
list.add(); etc........
string combinedElements;
for(int i = 0; i < list.Length; I++)
{
combinedElements += (list.ElementAt(i) + list.ElementAt(i + 2) + list.ElementAt(i+4))
}
所以你可以看到这会给出一个Array out of bounds异常,但是我怎么能够以一种只循环遍历列表元素的方式来实现它,而不是我实例化一个列表21个元素只是一遍又一遍地重复相同的事情?
例如,如果列表中填充了1,2,3,4,5,6,7。我希望它能为每个元素获得所有其他元素(两次)。所以我希望它返回1,3,5 2.4.6 3.5.7 4.6.1 5.7.2等我尝试在任何地方搜索,甚至通过我的C#书籍,但在没有重置循环的情况下迭代回列表或数组时找不到任何东西。
提前感谢任何人可以给予的建议。
答案 0 :(得分:1)
正如@UnholySheep评论的那样,最好使用模块化功能,如
List<int> list = new List<int>() { 1, 2, 3, 4, 5, 6, 7 };
string combinedElements = "";
for (int i = 0; i < list.Count(); i++)
{
string currentSet = (list.ElementAt(i) + "," + list.ElementAt((i + 2) % list.Count())
+ "," + list.ElementAt((i + 4) % list.Count()));
Console.WriteLine(currentSet);
//combinedElements += currentSet + " ";
}