向 IEnumerable 添加项目
许多开发人员寻求像 items.Add(item) 这样的方法来向 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中文网其他相关文章!