c# - C#中迭代器和数组的区别

标签 c# arrays iterator

重复 What is the purpose/advantage of using yield return iterators in C#?

好吧,不是这个。你能详细解释一下这两者有何不同吗?

就像返回一个数组(比方说字符串) 或者用迭代器(也是字符串)做 yield return

我发现它们是一样的。 请详细说明。

最佳答案

数组是指向固定大小、随机访问数据 block 的指针。调用者可以更新值,以任何顺序访问值等。

迭代器是值序列(长度可以是无限的)的键。调用者只能按照源提供的顺序访问它们,而不能更新它们。

访问序列中的每个值会产生更多的开销,但它的优点是不需要一次获取所有数据,因此对于中长序列可以更高效。

关于c# - C#中迭代器和数组的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1287349/

相关文章:

PHP 将对象数组转换为键/值数组

常量的正确定义

java - 为什么 ConcurrentSkipListSet 升序迭代器 'faster' 而不是降序迭代器?

c++ - 跑完定制迭代器的末尾

c# - ASP.NET 按钮单击事件错误

.net - 在VS 2010 C#项目之间共享.cs文件

c# - 我如何在 silverlight 中将 Xaml 转换为 Rtf?

php - 将数组拆分为 N 个数组 - PHP

c++ - 如何将迭代器变量声明为私有(private)成员变量?

c# - 如果找到自闭标签,如何删除元素