Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 迭代回到列表C的开头#_C# - Fatal编程技术网

C# 迭代回到列表C的开头#

C# 迭代回到列表C的开头#,c#,C#,也许我的实现中缺少了一些东西,或者我的理解 所以我有一组列表元素,特别是在本例7中,我需要从这些元素的一组模式中获取信息 有趣的是,元素实际上可以永远重复,所以我没有创建一个包含14个或21个等元素的列表,而是找到了一种使用7的方法 比如说, LinkedList<string> list = new LinkedList(); list.add(); etc........ string combinedElements; for(int i = 0; i < l

也许我的实现中缺少了一些东西,或者我的理解

所以我有一组列表元素,特别是在本例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))
}
LinkedList=新建LinkedList();
list.add();等
字符串组合元素;
for(int i=0;i
所以你可以看到这会产生一个数组越界异常,但是我如何能够实现它,使它只在列表的元素之间循环,而不是我实例化一个有21+个元素的列表,这些元素只是同一事物的重复

例如,如果列表中填写了1,2,3,4,5,6,7。我想让它得到每个元素的其他元素(两次)。所以我希望它返回1,3,5 2.4.6 3.5.7 4.6.1 5.7.2等

我试着到处搜索,甚至是通过我的C#books,但在不重置循环的情况下,无法找到任何关于遍历列表或数组的内容


提前感谢任何人提供的建议

正如@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 + " ";
  }
List List=newlist(){1,2,3,4,5,6,7};
字符串组合元素=”;
对于(int i=0;i
看起来你得到了奇数个元素。。在这种情况下,不是i++,而是i++=2..您试图访问项目“i+2”和“i+4”,当i=3时,它将引发一个越界异常。@扎洛蒙如果您阅读了这个问题,加里说他知道它会导致越界异常。请尝试
%
运算符:
list.ElementAt(i%list.Length)
嘿,谢谢模工作!你们一回答我,我就立刻想起我该怎么做。非常感谢你们!!!!财产不是一种财富吗method@UnholySheep,如果您使用的是List,那么它的属性和函数请参见第137行和第1050行的源代码