我几乎切换到泛型类型并远离数组类型,但现在我需要迭代一些方便的索引,就像那些数组提供的索引一样。通用列表很棒,因为它们保持内部顺序与插入的内容顺序相同,它们动态增长并带有非常有用的方法,但是我可以像数组一样跳转吗?我可以说,使用for循环迭代一个通用列表,并在某些索引上获取过去或未来索引的值,而不必迭代其间的所有值吗?
使用数组的示例:
for (int i = 50; i != 0; --i)
{
if (myArray[i] == 1 && i + 5 <= 50)
{
myArray[i + 5] = myArray[i + 5] + 2;
}
}
答案 0 :(得分:3)
是的,你可以像数组一样使用list。 List具有与数组索引器类似的索引器。你尝试过它并不起作用吗?
var lists = Enumerable.Range(0, 51).ToList();
for (var i = 50; i != 0; --i)
{
if (lists[i] == 1 && i + 5 <= 50)
{
lists[i + 5] = lists[i + 5] + 2;
}
}