首页 >后端开发 >C++ >如何向 IEnumerable 添加项目?

如何向 IEnumerable 添加项目?

Barbara Streisand
Barbara Streisand原创
2024-12-29 21:43:40166浏览

How Can I Add Items to an IEnumerable?

向 IEnumerable 添加项目

许多开发人员寻求像 items.Add(item) 这样的方法来向 IEnumerable 添加元素收藏。然而,这不能完成,因为 IEnumerable不一定代表可变集合。它甚至可能根本不代表集合。

例如,考虑以下方法:

IEnumerable<string> ReadLines()
{
     string s;
     do
     {
          s = Console.ReadLine();
          yield return s;
     } while (!string.IsNullOrEmpty(s));
}

此方法通过从控制台读取行来生成 IEnumerable。尝试对结果集合调用 Add("foo") 会引发异常,因为此 IEnumerable 实现不支持它。

相反,您可以使用 Enumerable.Concat 方法将新项目追加到 IEnumerable。对于上面的示例,您可以创建一个新的 IEnumerable,其中包含来自控制台的行和一个新项目“foo”,如下所示:

items = items.Concat(new[] { "foo" });

此方法创建一个新的 IEnumerable,其中包含来自控制台和新项目“foo”的项目原始 IEnumerable 和新项目。请注意,它不会修改原始集合。

以上是如何向 IEnumerable 添加项目?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn