使用索引迭代通用列表(C#)

时间:2014-04-24 02:25:21

标签: c# list generics

我几乎切换到泛型类型并远离数组类型,但现在我需要迭代一些方便的索引,就像那些数组提供的索引一样。通用列表很棒,因为它们保持内部顺序与插入的内容顺序相同,它们动态增长并带有非常有用的方法,但是我可以像数组一样跳转吗?我可以说,使用for循环迭代一个通用列表,并在某些索引上获取过去或未来索引的值,而不必迭代其间的所有值吗?

使用数组的示例:

for (int i = 50; i != 0; --i)
{
    if (myArray[i] == 1 && i + 5 <= 50)
    {
        myArray[i + 5] = myArray[i + 5] + 2;
    }
}

1 个答案:

答案 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;
    }
}