使用 List 比 IEnumerable 有什么好处?

2024-01-08

或者相反?

我一直使用通用列表。但我偶尔也会听说 IEnumerables,老实说,我(今天)不知道它们的用途以及为什么我应该使用它们。因此,冒着网络上永远有更多东西宣扬我无知的风险,我谦虚地提出这个问题。


Well, List<T>实施IEnumerable<T>... 基本上IEnumerable<T>只是一个项目序列。你可以通读一遍,仅此而已。

List<T>是一个可变集合 - 您可以向其中添加、从中删除、排序等。它本身更灵活,但是IEnumerable<T>允许您使用相同的代码来处理任何实现(数组、链表、列表、从使用方法返回的迭代器)yield声明等)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 List 比 IEnumerable 有什么好处? 的相关文章

  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template

随机推荐

  • JavaScript:如何确定运行时(又称浏览器)的性能?

    我有一个 JavaScript 应用程序 它运行良好 但肯定需要一些内存 CPU 性能 它基于 Google 地图 所以基本上它在台式机 笔记本电脑上运行良好 iPad 也可以正常运行 但如今 对于所有这些不同的设备 较小的设备肯定会超载
  • Zend 表单 ajax 提交验证

    我目前正在尝试同时使用 ajax 和 zend validate 验证 zend 表单 让我解释一下 我的表单在 iframe fancybox 中弹出 提交后 我需要显示一条 谢谢 消息 关闭 iframe 并重定向用户 如果成功的话 我
  • Child_process 抛出错误:写入 EPIPE

    我只是练习一些关于child process the的node js代码link https nodejs org download release v5 2 0 docs api child process html child proc
  • Spring MVC Web 应用程序背后的 zuul 重定向问题

    我有一组 Spring Boot 1 3 3 和 Spring Cloud Brixton RC2 微服务 在 Zuul 后面运行 并且在重定向中重写我的 URL 时遇到问题 我的主要问题是我的网络应用程序位于 zuul 后面 并且在重定向
  • mysqldump 与 db 位于单独的文件中

    我正在编写一个单行命令 将所有数据库备份到各自的名称中 而不是使用将所有数据库转储到一个 sql 中 例如 db1 保存到 db1 sql db2 保存到 db2 sql 到目前为止 我收集了以下命令来检索所有数据库 mysql uunam
  • R ggplot2 aes 参数

    我有一个功能 vis function df x p1 lt ggplot df aes x geom line aes y v2 p1 我有一个数据框 df data frame v0 c 1 2 3 v1 c 2 3 4 v2 c 3
  • FFmpeg drawtext - 无法从文件加载字体[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我尝试使用 FFmpeg 在视频顶部添加简单的文本drawtext范围 每次我要这样做时 都会返回错误 无法从文件 arial ttf 加载字体 无法
  • 如何在 NSIS 中获取命令输出?

    我想知道如何在 NSIS 中获取 execwait 命令的输出 例如 如果我运行tree 我将如何获得输出 这将是实际的树 您不能使用 ExecWait 来做到这一点 您必须使用以下插件之一 nsExec http nsis sourcef
  • 类似亚马逊的界面,用于选择产品尺寸和颜色(即单击一个小红色框来选择红色产品等)

    在我的在线商店中 我想实现一个像Amazon s https rads stackoverflow com amzn click com B000YVES0I用于选择产品尺寸和颜色 即 用户应该看到一堆小框 而不是不同尺寸 颜色的单选按钮
  • 如何在 Swift 中通知队列(GCD)

    我正在使用 GCD 来通知主线程 函数内有 2 个异步调用 My code func getWavesByMostRecent closure escaping Wave gt Void var waves Wave let dispatc
  • 优化 MySQL 中联接中的 OR

    我在 MySQL 中有一个相当复杂的查询 当其中一个连接使用 OR 完成时 查询速度会大大减慢 我怎样才能加快速度 相关的连接是 LEFT OUTER JOIN publications p ON p id virtual performa
  • 创建binder时,Spring Cloud config + 总线对配置服务器调用两次

    我使用 spring cloud config 和 spring cloud bus 创建了一个简单的项目 由于某种原因 配置客户端两次调用配置服务器 第一次发生在创建引导程序的上下文时 预期的行为是什么 但第二次发生在创建绑定器的上下文时
  • 有人可以解释这是如何工作的吗?

    我有这行代码 class ButtonPanel extends JPanel implements ActionListener public ButtonPanel yellowButton new JButton Yellow 它有效
  • 为什么 cout 使用 << 会产生正确的字符串输出,但使用 + 却不会? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 这显示没有输出 int x 10 cout lt lt Hello C x 但这确实显示了输出 int x 10 cout lt
  • 使用基本矩阵 opencv 确定相机运动

    我尝试使用 opencv 从基本矩阵确定相机运动 我目前正在使用光流来跟踪每个其他帧中的点的移动 基本矩阵是从基本矩阵和相机矩阵导出的 我的算法如下 1 使用良好的特征跟踪功能来检测帧中的特征点 2 跟踪接下来两帧或三帧的点 Lk光流 在此
  • NPM:如何运行安装后?

    只是一个简单的问题 在我的 node js 项目中 我如何只运行安装后脚本 而不运行安装之前 仅供参考 这是我的 package json name gestionclientjs dependencies repository devDe
  • 如何在创建过程中引用同一对象的属性? [复制]

    这个问题在这里已经有答案了 我正在尝试做类似的事情 o a foo 42 b o a 但这会返回一个错误 指出 o 未定义 我知道我以后可以做 o b o a 但我想知道在定义 o 的同时是否可以定义 b 现在这已经是古老的历史了 但我刚刚
  • 如何在 redshift 中将行连接并转置为列

    我有以下table1其独特的关键是type type age A 20 B 21 C 22 我有以下结果表 我想加入他们 type score A 10 A 20 A 30 B 40 B 50 以下转置形式 type age score s
  • 连接 Keras 模型/替换输入但保留层

    这个问题类似于Keras 替换输入层 https stackoverflow com questions 49546922 keras replacing input layer 我有一个分类器网络和一个自动编码器网络 我想使用自动编码器的
  • 使用 List 比 IEnumerable 有什么好处?

    或者相反 我一直使用通用列表 但我偶尔也会听说 IEnumerables 老实说 我 今天 不知道它们的用途以及为什么我应该使用它们 因此 冒着网络上永远有更多东西宣扬我无知的风险 我谦虚地提出这个问题 Well List