首页 > 后端开发 > C++ > IEnumerable 集合可以像列表一样扩充吗?

IEnumerable 集合可以像列表一样扩充吗?

Patricia Arquette
发布: 2025-01-02 17:58:42
原创
664 人浏览过

Can IEnumerable Collections Be Augmented Like Lists?

IEnumerable 可以吗?集合可以像列表一样扩充吗?

IEnumerable;集合表示可能可变或不可变的元素序列。与列表不同,IEnumerable集合本身并不支持项目添加。

尝试将项目添加到 IEnumerable 时集合,例如在提供的示例中,它实际上效率很低。 ToList() 方法将 IEnumerable 转换为到 List,允许添加项目。然而,原始的 IEnumerable保持不变,导致集合中只有一个元素。

是否有 items.Add(item) 的替代方案?

不,没有直接等效项IEnumerable 中的 items.Add(item)。但是,您可以创建一个新的 IEnumerable其中包括原始项目和新项目。此技术依赖于 Enumerable.Concat 方法:

items = items.Concat(new[] { "foo" });
登录后复制

此方法创建一个不可变的 IEnumerable ;它包含了原始集合和添加项目中的所有元素。此外,它还确保未来对原始集合的任何更改都会反映在新的 IEnumerable 中。

以上是IEnumerable 集合可以像列表一样扩充吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板