c# ienumerable 添加
时间: 2025-02-10 20:39:22 浏览: 13
向 IEnumerable<T>
添加元素
IEnumerable<T>
接口本身并不提供添加元素的方法,因为该接口主要用于遍历集合中的元素而不是修改它们。为了能够向实现了 IEnumerable<T>
的集合中添加元素,通常会使用其他类型的集合类,这些类不仅支持枚举还允许修改操作。
如果确实需要基于现有的 IEnumerable<T>
来创建一个新的包含额外项的序列,则可以考虑以下几种方法:
方法一:转换为可变列表并追加新项目
通过将 IEnumerable<T>
转换为 List<T>
或者其他的实现 ICollection<T>
接口的数据结构来增加新的成员。之后再根据需求决定是否要返回原始类型或是保持作为更具体的类型。
// 假设有一个 IEnumerable<int> 类型的对象 sourceEnumerable
var list = new List<int>(sourceEnumerable);
list.Add(42); // 这里我们添加了一个整数 42 到列表中
这种方法简单直观,但是需要注意的是这实际上是在构建一个全新的列表对象[^1]。
方法二:利用 LINQ 创建扩展后的查询表达式
借助于 Language Integrated Query (LINQ),可以在不改变原集合的情况下生成一个新的带有附加元素的结果集。这种方式不会影响到原来的 IEnumerable<T>
实例。
using System.Linq;
// 使用 Concat 方法连接两个序列
var extendedSequence = originalSequence.Concat(new[] { newItem });
// 如果只需要添加单个项目也可以用 Append/Prepend 方法
var appendedItemAtEnd = originalSequence.Append(newItem);
var prependedItemAtStart = originalSequence.Prepend(newItem);
上述代码片段展示了如何运用 .Concat()
函数把另一个数组拼接到现有序列后面;而.Append()/.Prepend()
则分别用于在结尾处或开头位置加入单独一项[^2]。
阅读全文
相关推荐


















