C#如何遍历List里面的每个元素

介绍C#的集合泛型List如何进行foreach迭代遍历和for循环遍历。

操作方法

(01)首先,比较简单的做法是使用foreach。foreach与for循环不同,它是迭代器遍历。用法为foreach(类型 临时变量名 in 支持迭代的集合)

C#如何遍历List里面的每个元素

(02)然后,我们熟悉的for循环也可用于遍历List列表。使用t获取列表中的元素个数。

C#如何遍历List里面的每个元素 第2张

(03)我们查看List的元数据,我们发现List实现了IEnumerable接口,因此可以使用foreach语句迭代。实际上,List是链式存储结构而不是数组结构,链式存储结构的特点是,插入添加快,随机访问慢。而使用"[]"索引器按照下标访问则需要沿着链表循环前进。

(04)我们遍历List集合并求立方和为例,对索引访问的for循环和迭代器访问的foreach代码进行计时。可见,对于只读元素遍历,foreach明显快于for,且随着List容量的加大更加明显。

C#如何遍历List里面的每个元素 第3张

(05)当然,foreach也有一个很不好的地方,就是迭代变量是只读的。而且进行foreah迭代时,不方便进行插入删除等操作。当然,我们可以自己写代码实现之。

特别提示

遍历如果是一种只读访问比如查找,统计等,foreach非常适合。